Fig compatibility layer 649

TODO deal with port edge cases, e.g. just container port specified, or IP and port specified on host
See http://www.fig.sh/yml.html
Issues have been raised for this missing functionality, which is not yet supported by Flocker.

Fixes #649
Why are you calling `is_valid_format` twice? If `applications()` calls it then external caller doesn't need to, if external caller calls then `applications()` doesn't need to.