Use Liquibase to create HSQLDB tables when testing.

Items in this commit:
* Fail faster when there are Guice problems during servlet initialization.
* Move tests out of the `test` package.  Having them in the `test` package only served to make it impossible to access protected fields and functions which is undesirable for testing.
* Use Liquibase to generate HSQLDB schema instead of Hibernate's auto ddl option.
* Use dependency injection within tests instead of referencing a huge pile of protected fields from the DatabaseTestFixture super class.
* Only set up JPA (EntityManager and friends) once for each test class instead of creating it before each test.  Only perfoming the initialization once for a class results in a substantial savings of time.

State | Time for `buildr candlepin:server:test`
--------- | --------
Before | 375s (6m15s)
After with JPA every test | 490s (8m 10s)
After | 315s (5m15s)

Net savings: 60s (15% of running time)

To get a quick idea of the hot spots, I ran a profiler on the code with

```
java -agentpath:~/YourKit-14110/bin/linux-x86-64/libyjpagent.so=tracing,alloceach=15,delay=10000,sessionname=junit -cp $(buildr -s classpath) org.junit.runner.JUnitCore org.candlepin.resource.test.{OwnerResourceTest,AtomFeedResourceTest,ConsumerResourceTest,CrlResourceTest,EventResourceTest}
```

Here are the highlights where "Avg Time" is the time actually spent in the method and all the method calls that method makes

Class | Time (%)| Avg Time (ms) | Invocation Count | Notes
----- | ----- | ----- | ----- | -----
com.google.inject.Guice.createInjector | 58% | 176,080 | 16 | Called by `DatabaseTestFixture.init()`; most of the time is spent starting the JpaPersistService
CandlepinLiquibaseResource.runUpdate | 21% | 64,873 | 1 |
> This can be done for gutterball as well I think.

Nevermind. Looks like it is done. :) :+1: