Fixes #133: Token length should not be treated as fixed.
Update connection.js to support a "shutdown" command

This change adds a shutdown method that indicates to socketDrained that it should close connections once there are no more notifications to send. The side effect is that the node process will end. I've tested the change both with all successful messages, as well as when a few messages can't be sent. In both cases, the program does not shutdown until all messages that can be successfully sent our sent.

Signed-off-by: Andrew Naylor <argon@mkbot.net>
Improved connection shutdown behaviour.

Closes #134
Added doc for shutdown method.
Added a short delay to each socket close to ensure error responses from Apple aren't missed.

500ms is probably sufficient but increased to 2500 for added certainty.
1.4.3