Remove flag for onPreExecute callback.

Since onPreExecute is always guaranteed to be executed before
onBackground is (and it is done on a different thread), simply call the
listener at the right time.

If at any point onPreExecuted is not called, it means we have done
something else wrong.
Merge pull request #25 from flerda/decktask1

Remove flag for onPreExecute callback.
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.