Added orm.xml; changed persistence.xml to drop tables after run

orm.xml is required because when running from gradle (rather than Eclipse), Hibernate fails to find the entities.  orm.xml explicitly lists them.

The solution branch includes two more tables.  If these tables are left populated, then switching back to the master branch causes the problem that DBUnit doesn't know to clean these two tables and so the data setup violates foreign key constraints on those tables.
Added an After method to rollback any hanging transaction

If a test throws an exception part-way through, it may leave a transaction open.  CloseTransaction closes it between tests.