Hosts formatting

This pull request is nearly a complete rewrite of the hosts plugin to support the metadata formatting proposal described in doc/METADATA.ini and discussed in #118. Additionally it introduces a first proposal for a library (keymetaformatting) that encapsulates useful functions to create the comment meta keys.

 Although I could have spent even more time on this topic, I think it is time for a first review.
Ok, that one thing a user cannot do at the moment (source->alloc). But maybe to provide a ksAlloc is more useful than to provide a ksDeepDup().