Remove creation of :chainable in #merge_like_method.

The general #do_merge method seems to already cover that.
Probably just a left over code from some ye old times.
Remove hardcoded merge of static, inheritable, autodetected.

Leftovers from old times.
Implement merging of @extends inside Tag class.
Remove hardcoded merging of :code_type.
Move aliases merging to Tag class.
Merge enum in Tag class.
Remove :singleton from default class attributes.

Defaulting to nil is just fine.
Remove :mixins, :requires, :uses defaults.

Having these default to nil is just fine.  Only when merging two classes
together, one needs to take the nils into account - so add some code for
that.
Merge :alternateClassNames inside Tag class.

This way we can assure it always gets a default value of [].
Which is convenient as we often need to loop through the alternate
names, but checking the existance first is bordersome.
Remove defaults parameter from Merger#do_merge.

With bunch of refactoring in Merger class.
Move :members array creation inside @class Tag.
Allow for any number of merge contexts.
Move params merging to @param Tag class.

For now introduce the merge context of :method_like.
Move :type merging to @type tag class.
Move :default merging into @default Tag class.

Introduce new Tag class just of this merging.
Extract DocsCodeComparer class.

Removing duplication of the docs and code comparison and merging code.
Use only actual member names in tag context.

This allows us to do a larger refactoring in Merger class, eliminating
all the merge_like_* methods, and doing almost all the merging inside
the main #merge method.
Extract the merging of :name field to Tag::Name.

Because :name applies to all members, introduce a special merge_context
called :member, which expands to list of all known member types.
Append to external classes inside the overrides processor.

Eliminates a special case code used when calling the overrides
processor.

Added :[]= method to options to allow us setting values. Changed the
implementetion to use idiomatic instance_variable_get/set methods.