Add a ["packet", ...] wrapper around packet data from server to client.

Allows the client to distinguish between packets and RPC responses.

Add Sinon library to client, to enhance testing.
Upgrade Sinon to fix AMD module loading.
Require a tag on each incoming RPC request, and include it in response.

Allows RPC responses to be returned out of order.
Add support for ES6 Promises using a shim with AMD wrapping.
Add an RPC client to the Client Controller.
Test that client initialises its home network list from the server using RPC.