validate protocol in port mapping
Task health checking by app version.

- HC manager now tracks checks by appId + version
- Added TaskTracker.getVersion
- Call healthCheckManager.addAllFor from
  DeploymentActor during start and restart to
  avoid a race between health check reconciliation
  and the initial task health update from the
  executor health check system
- Added missing health check reconciliation calls
- Fixes #688
- Fixes #697
Merge pull request #750 from mesosphere/wip-portmapping-validation-drexin

validate protocol in port mapping
Updated Scala version in .travis.yml
Merge pull request #757 from mesosphere/scala-version-in-travis

Updated Scala version in .travis.yml
fixed bug in the MarathonScheduler that led to launched tasks not being removed from the queue
added a test for readding of unlaunched tasks
MarathonScheduler: split expr to induce type check
Merge pull request #766 from mesosphere/wip-fix-task-launching-drexin

fixed bug in the MarathonScheduler that led to launched tasks not being ...
Addressed review comments for #752.

- Added internal readers-writers lock in
  MarathonHealthCheckManager.
- Cleaned up unnecessary pattern matching.
- Removed unused constructor param of type
  AppRepository in MarathonHealchCheckManager.
- Other minor refactoring.
Merge pull request #752 from mesosphere/697-health-checks-by-app-version

Task health checking by app version.
added first play-json formats and removed json4s
fixed some formats, added some and use play-json to serialize AppDefinitions
restructured Formats, added more formats and use play-json in AppsResource