Print test name before starting the test
Print init and cleanup function name if it fails
Add --test parameter to only run one testcase
Add --debug|-d for debug output
Don't call cleanup twice on error
Factor out bash error trap
Remove duplicated code and fix output of init and cleanup functions