Doctrine with new isolated test system.

For the new set of tests I'll be doing with the new doctrine stuff I want
each test to be isolated from each other test. That's tricky with web
applications because the web app frequently uses a separate database
connection from the test system which means you can't wrap each test in a
transaction and then roll it back. Instead you usually do a bunch of table
truncates or deletes to reset back to the default data which is really slow.

To solve this problem, I'm using something called mysql-concentrator which
basically sets up a mysql server proxy that forwards mysql connections to a
mysql server, but it combines them all into one connection which means that
you can start a transaction in one connection which wraps the commands in
another connection and then have the first connection roll everything back.

I've also reorganized the test factory classes a little bit to mimic the same
organizational scheme that the entities ues and made them all inherit from a
base class which makes for less code reuse.

I've also implemented the first test case for
CRM_Event_Form_Registration_Confirm::postProcess. I haven't converted any of
the code to Doctrine yet.