Move VersionVI and VersionVII plugin classes into their own files.
This PR includes a few refactorings. Since they are intertwined they are done in a single PR :(

1-) VersionVI and VersionVII classes are moved to their own classes.
2-) VersionVII class only gets the data instead of full System object.
3-) A new integration testing infrastructure is started (similar to Chef integration tests).
4-) Loader code is refactored.
5-) New integration tests for Loader are added.
Refactor hints to its own class.
Disable one test which requires changes to require_plugin() which will be done as a separate PR in order to keep this PR small.
Merge pull request #239 from opscode/OC-9924

OC-9924 - Recursively search plugin_path directories for plugins