Revert "Remove AbstractSingleton and move logic to VF_Singleton for the core library"

This reverts commit e3e5020c38b7ef915c53df9a4c2e4fa27d0a87ba.
Revert "Refactor classes and methods to use an Abstract Test Case along with an Abstract Singleton. This is used for best practices for magento having it's own extended version of VF_AbstractSingleton and the Vehiclefits Core having a VF_Singleton. Both of these classes extend the AbstractSingleton in the ways that are needed to be isolated from one another. The same was done on the VF_TestCase. VF_TestCase was changed to VF_AbstractTestCase and then VF_TestCase was created again to create the Vehicle Fits Core Test Case that used the correct core singleton (VF_Singleton). PSR-2 Coding was used and ran reformat code on many of the files that were modified."

This reverts commit b7187d3871093ec3076c2b017c4e44fba2f255c4.
Add ability to disable a module (wheel/tire/wheel adapter) - Thanks to @kylecannon for the code.
cherry pick kylecannon's additions to .gitignore: Add test files that are generated to .gitinore; add phpunit.xml override to git ignore