DialogView: return Optional<T> in showDialog()

This fixes #29 but uses a slightly different approach: `DialogController.getValue()` is never supposed to return null and `DialogView.showDialog()` returns and optional value.

Further I improved data binding between ProjectConfig and ProjectConfigCtrl. In order to do so `AbstractConfig` has to use Jackson for serialization instead of Gson.