platform agent now first checks whether a child is already running before attempting to launch it

New integration test TestPlatformLaunch.test_instrument_first_then_platform first launches an instrument agent (including port agent) and then launches its parent platform, verifying that the platform agent is able to operate normally. This test uses IMS's start_instrument_agent_instance as is, no changes at all there.

All local integration test OK.

Note: Just about to test this via the UI but going ahead with the PR so others can also help testing with the UI.

Note 2:  Launching of port agent from the platform agent *not* yet included.  However, it seems this may be less critical at this point as the current behavior of IMS's start_instrument_agent_instance is being leveraged both for integration tests and UI testing (according to its use in containerui.py). Let me know if this sounds right or not.