Add role and checkpoint support for Mesos backend

This commit also changes Mesos version to 0.14.0, which is the earliest
version supporting these features.
Yes. There is a I/O cost to the checkpointing/recovery. On startup the slave needs read state from disk to recover state. But this is a one time cost. During steady state, the slave will checkpoint state for every status update (asynchronously) and task/executor launch (synchronously). The state itself is pretty tiny (serialized TaskInfo, Status update etc protobufs) fwiw.