Start work on JavaScript API client.

- lib/link.js is so far an incomplete implementation of a DSLink. It's based off of link.dart, as well as the specification.
- lib/util.js is utilities that I use across the library via the un
derscore variable. I'm aware that Underscore has everything in here
, but util.js is extremely small.
- index.js just multiplexes all the different sublibraries together and exposes them to module.exports.
- Added mocha/better-assert to the package.json as developer dependencies. These will be used later for unit testing.
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.
Soon enough I'll have tests to run this against.
value.js, JSHint.

- lib/value.js is a pretty close port of value.dart, with the follo
wing changes:

  - ValueType.NUMBER is redundant. All non-integer numbers in JavaS
cript are doubles.
  - Since JavaScript doesn't have types, toInteger/toDouble/toPrimi
tive/etc are pretty useless.
  - Instead of Value.of(), all of that is just baked into the constructor if it is not provided.
- With value.js done, it will allow me to start working on node.js (DSNode, but that's kind of funny).
- Added a small Gulpfile.js with JSHint. It will also manage tests later.
Unit tests, a little work on node.js.

- Cleaned up a ton of stuff to make everything work like it is suppose to (with the help of unit tests).
- Added fairly extensive unit tests for values. If something breaks, it will catch it.
- Swapped out mocha for gulp-mocha, added lint for index.js.
Merge pull request #1 from mbullington/master

Working implementation of the DSLink SDK in JavaScript.