Add classes/modules to themselves.

When creating a new class or module the definition should be added as a child
definition to itself. This allows classes/modules to refer to themselves
without having to rely on the outer scope.

Consider the following code:

    class Foo
      Foo
    end

Before this patch the following process would happen in order to retrieve the
Foo constant on the 2nd line:

    search in current scope -> search in outer scope -> find constant

After this patch the following happens instead:

    search in current scope -> find constant

This in turn means that analysis classes such as Analysis::UndefinedVariables
no longer spit out warnings about the name of a constant being undefined as
said name is now available in the scope.

This commit fixes #35.