Structure the main function
Merge pull request #54 from neithernut/add-main-function_structure

Structure the main function
Add util/cleaner.{c,h}
Add interface for cleaner
Add cleaner implementation
Add cleaner to CMakeLists.txt
Remove cleanup helper in favour of direct cleaning in ws_cleaner_run()
Add cleaner calls in main()