Setup unit testing

@slajax

Unit test infrastructure for node & component:

- adds mocha and [mocha-phantomjs](https://github.com/metaskills/mocha-phantomjs)
- **make test** runs the node test suite and the component test suite at the console
- **make lint** runs jshint

## how the tests is

- tests for a given module are at lib/:module/test
- we are using mocha's [Qunit interface](http://visionmedia.github.io/mocha/#qunit-interface)
- [supertest](https://github.com/visionmedia/supertest) for http server testing
- [trigger-event](https://github.com/ianstormtaylor/trigger-event) for simple functional testing in the browser

There is an example of HTTP server testing at `lib/app/test` and `lib/embed/test`, and an example of client/server testing at `lib/embed/test/model`.

Adding to the component test suite is pretty weak atm, basically adding a script tag to the browser runner at `test/index.html`. Looking for a better way to do this.