DO NOT MERGE: Support Query metadata in a more useful manner

DO NOT MERGE: this is awaiting the metadata-able mixin to be written on a separate story.


Whilst entity metadata was supported in fields and filters, it was not particularly elegantly returned -- the raw MetadataValue hashes from Fog were returned.

This pull req splits out the logic from vapp_get_metadata_hash into a Vcloud module helper method, and tidies up the metadata key naming in the internals (and subsequently the YAML output). Subsequently, it adds a metadata method to Vapp and Vm, to return this hash.

A refactor of the TSV and CSV (tabular) output methods was needed to account for vCloud not returning metadata values that do not exist.