Add nacl-compile local package, and use it

bin/gen.py:
* Fix to use NACL_SDK_ROOT
* Use abspath when creating outdir (so creating in the current directory
  works)

Added node_modules/nacl-compile:
* Moved and refactored from test/c/test_gen.js
* Shared so it can be used by integration tests
Move nacl-compile -> nacl-sdk, use for C tests

* Add run to nacl-sdk (running via sel_ldr)
* Remove Makefile build. It's slower, but more consistent now. Maybe
  I'll work on incremental builds at some point.
Move logic from test/shared/gen.js -> naclbind-gen

This will make it easier to use in a Karma plugin (for integration
tests)
Move all JS to naclbind.js

This will remove the need for browserify.
Add missing break statement to switch

Accidentally falling through when setting an Array handle (a Long
value).
Remove Handles from message {set,get,...}Handles

This makes the JavaScript message match the NaCl expected message.
Fix bug in run.c

nb_request_set_handles was always returning TRUE.
Use window.setTimeout instead of process.nextTick

Conditionally, if process is not defined.
Print error messages when a command fails
Remove browserify, add naclbind-test

* Browserify is tricky to have as a karma pre-test step. Moreso when I
  need to generate nexes. Since naclbind.js is already UMD-ified now, I
  can remove browserify.
* Add test/integration/test_add.js. It doesn't yet test glue.js. Note
  that you can't use require(), as these tests run in the browser.
* Add naclbind-test module. This is a karma preprocessor that looks for
  files in test/integration/test_* and builds the similarly-named source
  and header files.
Add convenient karma runner script
Include naclbind.js in glue.js

* Modified gen.py to allow including JS files as well as C.
* Added functionality to specify areas to "strip" from included files
* Use UMD header/footer in glue.js, and strip it from naclbind.js
* Modify glue.c to use new paths