Partial work on processing sclass blocks.

Currently the tests fail due to the lazy loading mechanism in
RubyLint::Definition::RubyObject not assigning constants considered to be
global in Ruby (e.g. String) in the right definition list. Take for example the
following block:

    class First
      class << String
        def example
        end
      end
    end

Although the example seems a bit odd it is one of the possible ways of using an
sclass block. When executing this code the example method will be added as a
class method to the String class.

In ruby-lint this is currently not the case (and thus the tests are failing).
This is because of the following:

The sclass block is executed in the scope of First and thus the lookup for
String is also performed in this scope. The parent definition lists of First
are in this case the root list and the list for the Object constant.

When lazy loading the String constant it will be added to the top level
definition list that can contain the String constant (based on whether it's
available using #const_get). Because of the order of parent definitions
([Object, root definition list]) the lazy loaded definition list for String
will be added to the definition list of Object and *not* the root list.

To cut a long and technical story short: String is lazy loaded and assigned as
a sub constant of Object *only* instead of assigning it to the root list *and*
Object.

Signed-off-by: Yorick Peterse <yorickpeterse@gmail.com>