plugin/document: Add tags to <head> reversibly

This will make it easier to test behaviour with different sets of tags
in the document <head>.
plugin/document: Don't add empty objects

If certain metadata is missing from the page (as it almost always will
be), the Document plugin shouldn't add empty fields to the annotation,
such as:

    ...
    "dc": {},
    "prism": {},
    "highwire": {},
    ...

This commit ensures that the Document plugin doesn't add empty fields to
the annotation.

Fixes #382.