DialogView: return Option<T> in `showDialog()`

 This fixes #29 but uses a different approach: DialogController.getValue() is never supposed to return null.
Configuration: make classes copyable.
ProjectConfig: use properties and better data binding
AbstractConfiguration: use jackson instead of gson
Merge pull request #41 from stoewer/gndata-editor-29

DialogView: return Optional<T> in showDialog()
TaskExecutor: thread pool executor for tasks
AppState: provide a TaskExecutor inside the state
TaskExecutor: use Platform.runLater()