A few improvements around the DeckTask.

- Made fields final and added a constructor.
- Remove static sOldInstance and instead store a mPreviousInstance in
  the task itself. This also guaratees the correct sequencing of tasks.
- Rename static sInstance to sLatestInstance to reflect the semantics.
Merge pull request #28 from flerda/decktask2

A few improvements around the DeckTask.
Change the listener to receive the task.

Currently, the listener is not told which task it is being notified
about. This changes the listener to receive the task itself. In order to
make the transition easier, it also defines an abstract class with the
same name as the previous listener, which defines a compatible
interface.

Finally, remove the CancellableTaskListener, since it is not used and
introduces a cumbersome runtime check.
Merge pull request #29 from flerda/decktask3

Change the listener to receive the task.
Make DeckTask a bit more defensive.

Add an easy way to check things are called from the right task and add
that to DeckTask.

Add an easy way to log methods being called.