Don't redefine the wrong modules.

Due to the #lookup call in #define_module not being limited to the current
scope it would update the wrong definition if a name was used that was defined
somewhere else under the top level scope. For example:

    module RubyLint
      class Parser
      end

      module Docstring
        class Parser
        end
      end
    end

Here RubyLint::Docstring::Parser's definition would incorrectly update
RubyLint::Parser instead of creating a separate definition.