Fix broken AppDefinition health check validation

- Container.Docker.portMappings is now an Option
- New health check portIndex validation test
- Updated validation error messages
- Fixes #644
```scala
val pms = proto.getPortMappingsList.asScala
if (pms.isEmpty)
  None
else
  Some(pms.map(PortMapping(_)).to[Seq])
```