Move TaskStateListener from the tasks to the worker threads
- remove TaskStateListener from the ListenableTask
  (not sure if there is still a need for this class)
- Create a specific ForkJoinPool with a ThreadFactory that produdes
  threads holding the TaskStateListener
- add taskFailed() to TaskStateListener
hold TaskStateListener directly within the pool
make compute() final
set the own TaskPath as well by calling super.setTaskPath()
Merge branch 'taskpath-fix' into states
enable save action for "this" field access
apply patch
PunchPool has to be public
update doc
formatting
draft of persisting task states
Merge pull request #1 from ferstl/taskpath-fix

set the own TaskPath as well by calling super.setTaskPath()
Merge branch 'master' into state-handling

Conflicts:
	src/main/java/com/github/marschall/punch/ListenableTask.java
	src/main/java/com/github/marschall/punch/PunchPool.java
	src/test/java/com/github/marschall/punch/PunchTest.java
shutdown the db after the jobs were completed not before
don't wait so long for pool termination (something goes wrong here)
Merge pull request #2 from ferstl/state-handling

First draft of persisting states on a DB
simple recovery service
add transaction handling
organize imports
tweak Eclipse compiler warnings