Major changes to logging, path handling and temporary storage

Removed use of print_output in logging module. Now uses the info state
of logging instead. Path handling is more automatic as the path to the
program is found automatically. The error log is now saved at a new
temporary storage place.