Implement Node.js support

From the main commit:

* Split out browser specific code into new Environment
* Setup handling of environment specific code in LRS
* Add Node.js Environment specific implementation
* Update QUnit tests to be runnable from Node
* Implement Node runner script to execute QUnit tests against Node environment
* Update package.json to allow for npm publishing
* Update build script to output Node artifact with loaded Environment
* Split out sync and async TinCan base tests (Node code does not support synchronous calls)

Tested in CORS (where possible) and non-CORS:
 
- [x] Node.js (v0.10.21)
- [x] Chrome (30)
- [x] FireFox (24, 25)
- [x] Safari (7)
- [x] IE 10
- [x] IE 9
- [x] IE 8
- [x] IE 7
- [x] IE 6

Once this is merged and tagged for release we'll need to actually publish to npm.