I've added support to manually initialize and migrate the database schema.

The property 'databaseSchema' was removed and instead I added 'initializeEmpty' and 'migrationStrategy'.

'initializeEmpty' allows specifying if an empty database should be initialized or not. 'migrationStrategy' has support for update, validate and manual. Manual will write all changes required to the database to a file that can then be manually ran on the database. Manual also works in combination with initializeEmpty=false to allow manually initializing the database.

I also made a change to the server startup and if there is an exception thrown during server startup it will cause the server to exit. This makes it simpler to verify if a server started successfully or not.