introduce and use MModuleData

This introduces a helper module `mmodule_data` to store and retrieve arbitrary data trough module hierarchies.
Then `annotation` helper is extended to simplify the retrieval of annotations trough hierarchies of moduledecl
This allows the simplification of `android_annotations` by the use of the new services.

user-declared annotations in then implemented annotations (closes #623)