Platform instrument coordination

Preliminary PlatformAgent-InstrumentAgent coordination with a test involving a single platform with a single instrument.

As the platform is commanded, it in turn also commands the instrument: INITIALIZE, GO_ACTIVE, RUN, GO_INACTIVE, RESET. This is a good step but the platform agent logic does not yet provide full coordination in terms of what to do if the instrument fails to complete particular commands, apart from simply ignoring the possible errors for the moment. Tackling this is a next step.

The particular test is:
  bin/nosetests -sv ion/services/sa/observatory/test/test_platform_launch.py:TestPlatformLaunch.test_single_platform_with_an_instrument

UI testing: as the set-up for the ports associated to the instruments associated to the platform in the r2demo.yml case are not performed, then the corresponding instrument commanding in this test does not complete successfully. A next step here is to properly prepare the ports so the instruments can run ok. This set-up needs to happen before the platform agent is launched. Not sure where that would need to be done.

Although there's still lots to do for the platform-instrument coordination, please review and merge.  Thanks.