Spec to see if constants can be re-defined.
Inspector cleanup plus better tests.

The class RubyLint::Inspector has been cleaned up quite a bit and the
corresponding tests have been expanded to cover a more wider range of use cases
as well as covering the existing ones better.
Import from the remove-global-state branch.

This import contains various fixes to the process of inspecting constants,
generating definitions and an update to a test to mark it as pending.