Added factory for MetadataMap

- also modified HalLinks factory to pull MetadataMap and inject it