common/attributes: Add a helper function for seeing if this set of attributes is a superset of that set of attributes
Allow reconfiguring slaves (Changing attribuets and resources) ad-hoc

Added a method tryReconfigure to Slave which updates the local config
and propogates it out to the master. The master takes the updated
config and persists it in the Registrar.

This changed the assumption in mesos that slaveInfo is an immutable
struct.

The risk is mitigated by only allowing strict supersets of attributes
and resources to be set. You can do things like increase the number of
CPUs a machine has, but not decrease them.

There is one case we cannot guard against with that, and that is if a
framework is doing a negative check for a attribute of a node
(Checking that an attribute doesn't exist), the framework will
possibly get a node which didn't use to have that attribute but now
does.

The implementation starts by updating the attributes locally, then
propogates them outward (the main master, the replicated master log),
so the new properties effectively end up being eventually consistent.
Remove c++11 auto
Address reviewer comments
Fix build, address missed comment
address style issue
address style issue
address style issue
address style issue
address style issue
address style issue
address style issue
address style issue
address style issue
address style issue
fix style issues
fix error message
Address more review comments
move the reference to be next to the type rather than the name
Make the master validate any/all slaveInfo changes.

Unifies the logic between the server and slave