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:
 
- [ ] Node.js
- [ ] Chrome
- [ ] FireFox
- [ ] Safari
- [ ] IE 10
- [ ] IE 9
- [ ] IE 8
- [ ] IE 7
- [ ] IE 6

Once this is merged and tagged for release we'll need to actually publish to npm.