Constant loading and fixed UndefinedVariables.

Automatically loading constants has now been moved to RubyLint::VirtualMachine
using a new method called "run". This makes it easier to run the VM without
having to manually create an instance of RubyLint::ConstantLoader and pass data
around.

With this commit also comes an update to the class
RubyLint::Analysis::UndefinedVariables so that it works with the new VM setup
(along with the required changes to make this work).

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