Database & Testing update

### In this PR are some structural changes to tests:
 - No database URLs or credentials are stored in the project (source code, config or otherwise)
 - All Database info & creds are retrieved via `CrsProperties`
 - All tests which interact with the database extend `AbstractTestWithDatabaseConnectivity`
 - `AbstractTestWithDatabaseConnectivity` does a refresh of the target database before each test run

### Necessary changes:
 - Add properties which contain DB URL, user & password to filesystem properties file (usually found at /apps/apps-config/conf-registration-api-properties.xml).  See below for example.

### Possible gotchas:
 - Do not EVER put production creds as the unittest properties like this, as a test run could wipe out the production database.  There is no reason to do so.  Production creds should reside only in the application properties.  Actually you could try, but I'll likely make it that the prod DB would ignore connections things other than app servers.

Example properties:
```xml
    <!-- unittest database server connection info -->
    <entry key="unittestDatabaseUrl">jdbc:postgresql://localhost/eventhub_unittest</entry>
    <entry key="unittestDatabaseUsername">[username]</entry>
    <entry key="unittestDatabasePassword">[password]</entry>
```
Yes, I understand what happens at migration. I've added few migration versions myself. :-)
Possibly I misunderstood what you meant when you said, referring to the deploy phase, 'it ties in the test-compile phase'.