Metadata service refactoring

This refeactoring is required in order to support services
that provide metadata in a format which differs from the OpenStack
one.
Adds support for MaaS metadata

Adds a MaaS metadata service