Move Shortener also to Format namespace.
Move use of Shortener inside Tag::Doc.

Turn Shortener from singleton into normal class - simplifies testing,
and in the context of Tag::Doc it only gets instantiated once anyway.

Also rename :shortDoc to :short_doc - a more Rubysh name.
Extract Format::Subproperties from Format::Class.

The Format::Class is now much-much cleaner.

To avoid passing the Relations object explicitly around, add an
accessor to Format::Doc - so we can just pass an instance of the
formatter around and TypeParser can get the relations object
from the formatter, which it gets passed anyway and which already
includes the relations.
Remove relations from TypeParser constructor args.

Passing in the formatter is enough - we can extract relatons from that.
Move subproperties formatting into Tag classes.

The instantce of Format::Subproperties however is now created inside the
Format::Doc class, which also has methods #format_subproperty
and #format_type that delegate to Format::Subproperties class.