Run NATS.connect on EM thread

* If EM#connect is run from a different thread it may throw
ConnectionNotBound errors.
* Verify that current thread is reactor thread when connecting
to NATS.
* This is only an issue in worker and not in director since Thin
processes requests on EM thread.
Merge branch 'develop' of github.com:mariash/bosh into mariash-develop
Refactored NatsRpc to handle all director NATS calls

- all NATS client calls are performed on the EM thread
- subscription is delayed until the first NATS request
- connection is delayed until the first NATS message/request

[#77242338]
Refactored Monitor NATS usage

- all NATS calls now happen on the EM thread
Merge branch 'mariash-develop' into develop

- resolves NATS synchronization issues

[#77242338]