Break Up And Complete The Test Suite

* I've ditched the namespacing and the autoloading.
* I've separated out the tests and improved the stub class names.
* I've completed the test suite (coverage now a 100%).

~~I'm not done yet, don't merge this yet.~~ **ALL DONE!**