OC-9924 - Recursively search plugin_path directories for plugins

Original thing we fixed is:
* ) Make sure that plugins are loaded recursively from the directories under configured plugin_paths

While peer coding this with @mcquin we've done these refactorings:

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.
6-) hints are refactored into their own module.

PS: One test is made pending which requires some changes to require_plugin() method which will be done in a separate PR is order not to make this PR even bigger...

@danielsdeleo thoughts?