Fix address/function decoding
Related to issue #767. Currently VME function address modifier configuration is fixed in a global package. It's messy and tries to be as generic as possible by enabling a very wide range of AMs, which may lead to address conflicts.
Rewrite it so that the core's user can choose required AMs through a generic and keep unused functions/AMs disabled by default.