Add a DAO testing framework

* Allows injecting DAOs using a new `@Dao` annotation
* Allows applying datasets before running tests using DbUnit and a new `@DataSet` annotation