Use sequencing when posting jobs

Retain the posting order by using sequencing when posting
jobs to a jobboard (at least in the impl_zookeeper case
this is possible).

Adjust the interface to recommend that jobboard implementations
post in oldest to newest order (we can not easily enforce this
since some implementations will likely not be able to do this
in every scenario).

Bring in a new zake which has sequencing support (since this
is required to support this feature).

Change-Id: I0c475c3c1d16e9bbc9db6ff0ad6b7103c5948a47
Allow jobboard event notification

Instead of requiring iteration to be able to list new
jobs and existing jobs so that they can be claimed, allow
for attaching callbacks to the jobboard where instead of
requiring iteration those callbacks will be automatically
called by the jobboard internally when events are recieved.

Breaking change: renames transition notifier to notifier
since it is really not just a notifier for transitions but
is a generic notifier of events occuring (and details about
those events). This is an internal api so its not expected
that this will cause any issues (it's not expected for external
users to be creating instances of this class).

Implements bp board-notification

Change-Id: I2384d5e335ed9d17e29fec9a78699e3156fa225c
Add last_modified & created_on attributes to jobs

In order to be able to allow jobboard object users
to know when a job was last modified or when the
job was created we need to provide accessors to make
this possible. These can be used to claim a job after
a given period, or for general tracking of which are
the oldest jobs...

Implements: blueprint job-reference-impl

Change-Id: I467bb083d0b143826a44c6aeb6499c483b88fe65