add a shared ModalController and remove the dedicated Show/New/Edit Controllers

The former controllers did all the same, so dry it up and use a generic save() and close() function

Signed-off-by: Clemens Brueckmann <cbrueckmann@gmail.com>
remove navigationInjector, generalize dataService

It was a bad idea to inject the related table navigationData into userData, because the original table was modified.
In case of a remote source this would have caused problems.

Instead, provide a getRelation method in dataService and retrieve the related table data for #show on demand (when modal#show is called)

Signed-off-by: Clemens Brueckmann <cbrueckmann@gmail.com>