Added execution scheduler
Removed the public state parameter

This parameter was thought for the level that is passed before the
actual value is unfolded. In the case the level is needed during the
unfolding, a value of type (Level -> Level) can be returned.
added monoid instance for execution
Splitted scheduler into two modules to seperate concerns
Added exploratory test for the error transformer monad
Added may instances to Unfold
Added Level commands like move or approach
Merge branch 'develop' into execution-scheduler
Correct the imports of Level and Level.Task
Change ErrorT spec to use runStateT

runStateT makes the difference between the nested
monad stacks clearer.
Merge pull request #9 from svenkeidel/errort-spec

ErrorT Spec changed to use runStateT
added report file for A-Star benchmark
Added a command scheduler

The responsibility for the scheduler is to store pending commands, to
unfold the next stage of commands and to apply them to the level.
added documentation for the command scheduler
Add helper method for CommandSpec
Apply suggestions from hlint
Reword documentation
Merge pull request #10 from svenkeidel/execution-scheduler

Command scheduler