AppDefinition validator now respects random ports

Renamed the validators used to reflect the more specific behavior they now implement.  Includes a new test in AppDefinitionTest.

Fixes #195