Removes underscore dependency

* Implemented the small subset of underscore components reactive was
  using in order to reduce file size and improve performance.
* Adds NodeJS compatibility
* Creates a test runner for nodejs