Add features of log and error recovery. Untested and still working
Close #9
Merge branch 'enhancement-#9' into develop
Fix #15, fix #17, fix #18 and fix #19
Merge branch 'bugfix-#15-#17-#18-#19' into develop
Close #21
20 and 22 implemented but still untested
Close #20 and close #22
Merge branch 'enhancement-#20-#22' into develop
Merge branch 'develop'