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
If this were a public API and you're worried people will actually call it multiple times, you can make the class private and have a public function `def parse(c): p = _Parser(c); return p.applications()`.