Feature/strict mode

Enables strict mode for bash causing the script to exit as soon as a command returns a non 0 exit status.

This allows the script to bail out as soon as possible when a command goes wrong.

There are also a bunch of fixes for commands that could exit false, but we do not care that they do.

Lastly the script now always ensures that it cleans up even if an error was encountered, or the script aborted for any reason.