Initial motion toward versioned app defs. AppDefinition is now a (mutable) case class.  Added basic AppDefinition (de)serialization test.
Modified MarathonState to take two type parameters instead of one [protobuf, model]. Fixed use sites of MarathonState.mergeFromProto, incl tests.
Refactored the shape of AppDefinition.tasks
AppDefinition is now (mostly) immutable.  App tasks are modeled as a mutable snapshot for JSON serialization purposes.  Regenerated REST doc.
Fixes type error in v1.AppsResource
Improved method of augmenting the AppDefinition model with task information.
Cleaned up AppDefinition subtype constructors.  Made constraint (de)serializers singletons.
Minor cleanup in AppDefinition (redundant import, scoping)
Modified semantics of task list in AppDefinition subclasses (now snapshots)
Merge pull request #158 from mesosphere/wip-immutable-apps

Immutable AppDefinition