Initial code to support #33.
Minor, picky, alignment.
Some `getopts` and logic fixes. Added one test case for config only mode.

* `getopt` was ignoring `-C`.
* Fixed some logic which should stop execution in some cases(regarding the config only mode execution)
* Added a test case to test if script execution stops if config mode is enabled and no config dir is provided.
Better explain what's going on. Fail if in config only mode and nothing was configured.

* We now explain what we are installing or configuring.
* In case of just configuring and no config files or keys were copied over, fail execution.
Added 2 config related test cases.

* Check if we fail if the passed configuration directory does not exist.
* Check if we fail if no configuration is actually done.
When passing the configuration directory, fail as soon as possible.
Also include the daemons restart info in the script's documentation.