Initial @inheritdoc restructuring work.

Splitted up the tests into three files.

Changed around the rules of how inheritance works:

- Only inheriting x when item itself doesn't define it.
- No more combining local docs with inherited doc.
- Recursive inheritance now resolves the parent, then inherits from
  it directly, not going to the bottom of inheritance chain and
  inheriting from it.
Turn :autodetected field into hash.

Inside Ast auto-detection store there :tagname flag.
Inside @param and @type merging store the :params and :type flags.

Create Tag::Autodetected to do the merging of :autodetected fields
from code and docs.