Updates README build instructions.
Merge #650 r=@tcr: Updates README build instructions.

/cc @rwaldron @natevw.

This updates the README with modern (and hopefully future-proof) build instructions, along with minor troubleshooting adjustments.
Moves gyp configuration to a config folder.
Corrects isNaN global to coerce to number value. Fixes #652
Merge #651 r=@tcr: Moves gyp configuration to a config folder.

This relies on tessel/firmware#117.

`config/` now contains all the gyp target files, leaving the root directory clean and saving me from clicking blindly through our configuration options all the time.
Merge #653 r=@tcr: Corrects isNaN global to coerce to number value. Fixes #652
big pass over buffer input/output encoding handling, should be mostly there but failing some tests
fix up ill-fated conflation between ascii and binary (actually could have shared code in tm_str_to_X case but…meh?)
share trivially shareable 7/8-bit conversion code
add/fix a few more tests and update to current count
fix up some halfway-unconverted utf16le code
fix up overcorrection in UTF-16 conversion fix up
improve base64 hygiene
indent
avoid abort_trap on invalid base64, but…
…node.js (for whatever reason O_o) actually does not throw but returns empty buffer on malformed base64
excise dead code, https://github.com/tessel/runtime/pull/645#discussion_r20481702
have tm_utf16 support native [and big] endian as well as the LE the buffer methods need, this way https://github.com/tessel/runtime/pull/566 will be able to share our tm_str_to_utf16 implemenattion