Feature client api

Resolves #9 #11 #13 #28 

Makes the Client API mimic the Participant API as appropriate

Adds one-time callback support to InternalParticpant, just as it works in Client. If the callback returns a truthy value, it will be persisted by the participant and invoked whenever a message is received that is a reply to the message for which the callback was specified. If the callback returns a falsey value, it will be unregistered by the participant after the initial invocation.

Cap the number of packet sequence IDs remembered by a peer for each other participant. This feature invokes Array#indexOf, which is not available with IE 8. An ES5 shim file was therefore added, which provides an implementation of all ECMAScript 5 features.

A unit test was not created for this feature because the behavior is not conducive to unit testing. The one-time callback behavior for peer and the cap on the number of sequence IDs will be verified with an integration test as part of the resolution of Issue #31