The Tag#parse can now return a hash of tag.

This will then be added as a new tag through #add_tag.
Make BooleanTag return tag data hash.
Make Tag::Class return hash.

Also introduce shorthand for horizontal whitespace skipping.
Make ClassListTag return tagdef hash.
Ensure :doc=>"" field in all tags.

So the #parse method of Tag classes doesn't have to return this
empty field and maybe in the future we get rid of it altogether.
Make Tag::Constructor return tagdef hash.
Make DeprecatedTag return tagdef hash.
Make Method and Event classes return tagdef hash.
Make Extends Tag class return tagdef hash.
Turn DocScanner#hw method into chainable.
Make Override class return tagdef hash.
Make P/F/Xtype classes return tagdef hashes.
Make Member class return tagdef hash.
Make Preventable class return tagdef hash.
Make Since class return tagdef hash.
Make Inheritdoc & Alias class return tagdef hash.

The member_reference parsing has now moved completely inside Inheritdoc
class.
Respect actual @ident_pattern in DocScanner#ident.

When somebody needs to parse \w+ pattern - then it should tell so
explicitly, but #ident will now parse the actual identifier pattern.
Make Aside Tag class return tagdef hash.
Remove unused methods from DocScanner.

These are no more called by any Tag classes.
Move DocScanner#classname_list to ClassListTag.

That's the only place it's used in.