(Maint) Fix load order dependency

Running bundle exec rspec spec/unit/module_tool/install_directory_spec.rb
would fail because the Puppet::ModuleTool::InstallDirectory classes
referenced the Errors module without ensuring it was required.

This commit ensures that all of the module_tool leaf code requires its
parent first, and any code that they directly reference, e.g. open-uri