long running action notifications are posted on the main thread
smoother GUI updates due to improved implementation of long-running actions

- ChangeAndDiscardCommand and DiscardAndPlayCommand now use the long-running action
  concept to coalesce multiple operations into one GUI update
- move long-running action support from the asynchronous to the synchronous version of
  ChangeBoardPosition, to be on the safe side
- all commands that are long-running actions now use @finally to post longRunningActionEnds;
  this is a safeguard against unexpected failure, but also allows to write more compact code
cleanup: eliminate unnecessary callback in LoadGameCommand
add unit tests for GoBoardPosition

also fix a few unit test documentation comments
upgrade CocoaLumberjack to version 1.6