More work on link.js.

- Added Gulp to the package.json. Eventually it will be used for tests and generating documentation.
- lib/util.js had a syntax error. I was writing Dart.
- lib/link.js now handles WebSockets, has a keepalive ping every 10 seconds (same number as was in the Dart library, the number seems arbitrary, but for the sake of being consistant), and has basic request handling.