Merge WIP Hadoop code from upstream.

In this commit:
 - Reservations (roles) support
 - Checkpointing
 - Various fixes

Here's the old commit log:

commit 2120fccf88d0b3548ece28ed4381dd46655bf54b
Author: Brenden Matthews <brenden.matthews@airbnb.com>
Date:   Thu Aug 1 13:09:37 2013 -0700

    Allowed JobTracker to use unknown trackers.

    The Mesos scheduler shouldn't discard task assignments for task trackers
    that it doesn't know about.

commit 47810919b8c8752c4dccca0cfb2b8dfb076501c4
Author: Brenden Matthews <brenden.matthews@airbnb.com>
Date:   Thu Aug 1 12:34:53 2013 -0700

    Fixed bug where active TaskTrackers are killed.

    Sometimes, TaskTrackers which are active will fail to get marked as such
    because the scheduler is either a) too busy or b) has not received any
    offers in a while.  This resolves the problem of TaskTrackers getting
    killed by the launch timeout even though they are alive and well.

    Furthermore, some parts of the scheduler don't need to be completely
    synchronized because they don't modify shared data.

commit d268b750f330b59f08df843d3a5a13e82b9c8623
Author: Brenden Matthews <brenden.matthews@airbnb.com>
Date:   Fri Jul 19 16:48:47 2013 -0700

    Refactored JobTracker into fixed/variable policies.

    Review: https://reviews.apache.org/r/13213

commit e1d5c2e220356da8846d46c210fc6dc0c98d8dfd
Author: Brenden Matthews <brenden.matthews@airbnb.com>
Date:   Thu Jun 27 15:55:28 2013 -0700

    Added running task count to state info.

    Review: https://reviews.apache.org/r/12922

commit 40d1c3e74eb7ca31cbf586362998c005e596cc02
Author: Brenden Matthews <brenden.matthews@airbnb.com>
Date:   Tue May 28 17:34:13 2013 -0700

    Stop tracker timer when we terminate tasks.

    Review: https://reviews.apache.org/r/11604

commit 2038886dd4aee4143ad0c3cdd047371a6d674288
Author: Brenden Matthews <brenden.matthews@airbnb.com>
Date:   Tue May 28 17:15:24 2013 -0700

    Refactored Hadoop job completion.

    Review: https://reviews.apache.org/r/11603
commit 8501ec251dbccdec79a0a96356d5f3124cfbc8cc
Author: Brenden Matthews <brenden.matthews@airbnb.com>
Date:   Tue May 28 16:17:47 2013 -0700

    s/hadoopJobs/jobs/g in Hadoop scheduler.

    Review: https://reviews.apache.org/r/11489

commit da0f82da6f8ec914bfbbe3b89884e86730a6924f
Author: Brenden Matthews <brenden.matthews@airbnb.com>
Date:   Tue May 14 12:29:03 2013 -0700

    Write Mesos JobTracker stats to state file.

    Review: https://reviews.apache.org/r/11165/

commit 8cdfa358e748b597761100b7e73fba0fcb211997
Author: Brenden Matthews <brenden.matthews@airbnb.com>
Date:   Tue Jul 30 16:34:52 2013 -0700

    Added role parameter to JobTracker.

    Now it's possible to specify the framework role by setting
    mapred.mesos.role.  The default role is "*".

    Review: https://reviews.apache.org/r/13092