Refactored SWFService.get() to return a Promise.

Reworked handshaking logic between client and service to support this change.
This change solves timing issues associated with when the SWF is loaded and when its services become available.
TODO: Introduce configurable timeouts.
Updated distribution build.