Clean up properties structure and application context

* Database configuration is now contained in application context.

* There is now an extra database properties file and mail config
  properties file, the mail subjects are now placed in messages
  properties file.

* refs #17749
Add availability to use the application with in memory database

* The application uses now a h2 in memory database as default.
  It is possible to make the application use a mysql database
  by passing `-Ddb=mysql`.

* refs #17749
Fix usage of wrong attributes in person form

* refs #17749
Replace maven tomcat plugin by maven jetty plugin

* The jetty plugin sets the system property `db` to `h2`.

* NOTE: Custom charset filter has to be deleted because it affected the
  serving of the css files: it has set content type hard to text/html.

* refs #17749
Add prototypic possibility to create test data on start up

* The application creates now test data for the test user named `test`.

* refs #17749
Clean up of person service

* Move person interactions like creating/updating in extra service
  named PersonInteractionService, the domain person service contains now
  only read-calls.

* refs #17749
Person validator is called now only once in person controller

* Instead of calling each single validation method, it's better to call
  only once a validation method in person management controller.

* refs #17749
Add check for business proerties on application start up

* The business properties are validated now on application start up.
  No need to check each time the business properties  when editing
  a person or applying for leave.

* refs #17749
Clean up of mail service: remove obsolete methods

* refs #17749
Clean up of application service

* Move application for leave interactions like allow, reject etc. in an
  extra service named ApplicationInteractionService. The domain
  application service contains now only read-calls and does never
  execute changes on an application object.

* NOTE: To clean up the application controller and the URL schemata,
  there is now only a check during applying for leave if the given dates
  are too far (>1 year)  in the past. If the given dates are not too far
  in the past, the application can be saved without being forced to
  confirm the dates.

* refs #17749
Replace jetty plugin by tomcat plugin

* The jetty plugin throws error messages when trying to use HTTP PUT.
  Since it is not clear at the moment how and what to configure the
  jetty plugin to support HTTP PUT, for now is used the tomcat plugin.

* refs #17749
Use person interaction service for test data creation

* refs #17749
Show application for leave comment in progress when existing

* The optional comment that is saved when appling for leave, is shown
  now in the application for leave details page in the progress "bar".

* refs #17749
Allow users with role Boss to decide about their own applications

* If there is only one user with role Boss, there is no way to set the
  applications for leave of a Boss to allowed. That's the reason why now
  users with role Boss can now allow/reject their own applications for
  leave.

* refs #17749
Adjust person form constructor.
Adjust README.
Add user details service for local environment

* There is now a check if the test user `test/secret` is persisted in
  the database, only in this case it's possible to sign in as test user.

* NOTE: If a user tries to sign in and is not yet created in the system,
  now he is not created automatically - except the first user that signs
  in the system!