Added The Ability To Re-Create The Underlying Factory Instance

This adds a `reset` method to the facade. This is very useful, but required a change to the way we load the factory definitions from folders. I think this change is for the better though.

This change also means that our test suite should run again on a global phpunit install. I think I previously said this would be a "no fix", but this is the fix. :) Our tests no longer have any of that run in separate process crap.

Tell me what you think @scottrobertson.