add callbacks before and after cluster operations. Refactoring
some common logic into TaskService to make sure the before and
after hooks are isolated to a single class.
Merge remote-tracking branch 'origin/develop' into feature/http-callbacks

Conflicts:
	server/src/main/java/com/continuuity/loom/scheduler/JobScheduler.java
	server/src/main/java/com/continuuity/loom/scheduler/task/TaskService.java
	server/src/test/java/com/continuuity/loom/scheduler/SchedulerTest.java
separate into start, success, and failure events instead of just
before and after.
update javadoc
Merge remote-tracking branch 'origin/develop' into feature/http-callbacks
making the callbacks async, though the start callback for a
particular cluster still has to be finished before the tasks for
that cluster job are queued.
add nodes to callback post request, write callbacks to a queue
so that they are persisted across server failures, and adding
tests for the http post callback.
add missing javadocs
Merge pull request #93 from continuuity/feature/http-callbacks

add callbacks before and after cluster operations. Refactoring