New Python Framework

I'm starting this PR in case anyone wants to comment.

This PR is the start of the "FactorySystem" if that's the name we go with.  I've moved the Factory and InputParameters objects to this new location and created a first pass at a Parser and Warehouse.

This PR modifies the run_tests script so all applications and stork will have to be modified before this can be merged.  I want to make sure that the run_tests script is as lean as it can be before we hit the button.  

I have created a new script called "path_tool" which basically adds several paths recursively through a hierarchy so that we can actually create a directory structure without impacting our python scripts.  This should help us out moving forward.  It's still ugly to figure out where MOOSE_DIR is at and load the python path just to get that tool loaded though.  I don't think there's anything we can do about that.

The other place I'm looking for comments is the last few lines of run_tests.  Right now we have two different TestHarness objects.  One runs tests, the other runs tests and stores timing in a sqlite database.  Due to the fact that we have two, I have to load the right one before running tests in the run_tests scripts which creates ugliness exposed to the user.  One idea I have is to consolidate the TestHarness and TestTimer into a single class or alternatively a single file where we can have a free function that we call to create one and then run it - this would make run_tests cleaner.

TODO: Make the TestHarness actually use the new FactorySystem in place of it's own parser.