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.

A future PR may use this new services to implements module-declared annotations (see discussion on #623)