Refactor recording method locations

Now record_location handles registering the method's location and
registering it in the TopLevel.  This also fixes some bugs with
referenced classes not appearing in a TopLevel.
Suppress namespaces mentioned in passing

In @5ba263c parents where ignored.  This caused legitimate parents to be
ignored depending upon the order of declaration.

Now a separate flag via RDoc::CodeObject#suppress is used to hide these
namespaces.  A suppressed CodeObject will appear in documentation if it
has documentation, is not ignored and is not marked :nodoc:.