First stage: adding a ProxyMetadata object to get_metadata
Use ProxyMetadata in formatter functions for virt libs, ondevice, book_size, and approximate_formats. This saves the assignment in get_metadata()
correctly handle the formatter parameter in the cache and in Metadata
Merge branch 'master' of https://github.com/cbhaley/calibre