Refactored Settings Model, Route and Controller

* Moved all non-attribute properties to the constructor.
* Live changes to the settings won't get applied instantly anymore until
  they are saved by the user.
* Fixed issue with discard button not setting hasChanged to false and
  causing the dialog to pop up when leaving the route.