Add 'value' and 'units' methods to Duration subclasses.

Review: https://reviews.apache.org/r/20922
Used Duration subclasses to allow Timer users to specify units.

Review: https://reviews.apache.org/r/20923
Added template parameter to Timer.

Review: https://reviews.apache.org/r/20925
Temporarily disabled SlaveRecoveryTest.RestartBeforeContainerizerLaunch due to MESOS-1273.
Improved log messages in master.

Review: https://reviews.apache.org/r/20932
Ignored the log write request to a position if it has already been
learned.

Review: https://reviews.apache.org/r/20934
Applied four space indents (PEP8) to Python example frameworks.

Review: https://reviews.apache.org/r/21008
Updated the Registrar to abort permanently upon encountering a Failure.

It's possible for a backed-up master (many items in its queue) to have
many operations enqueued in the Registrar.

In this event, the Master won't commit suicide until the initial
failure is processed. However, in the interim, subsequent operations
are potentially being performed against the Registrar. This could lead
to fighting between masters if a "demoted" master re-attempts to
acquirelog-leadership! This scenario can occur if the "demoted" master
has a large queue and the demotion event is towards the back of the
master's queue.

It would be preferable to ensure that after losing log leadership,
the "demoted" master does not try to re-acquire log leadership and
write to the log.

Review: https://reviews.apache.org/r/20981
Fixed slave authentication to prevent sending TASK_LOST on
disconnection.

Changed master to only remove a slave's frameworks and offers on
exited, not on reauthenticate. Still disconnects at the allocator in
both cases.

Review: https://reviews.apache.org/r/21017