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
Restores compilation ability at -O0. Does not require HTTP to be UTF8-safe.
Merge #645 r=@johnnyman727: Fix up Buffer's handling of all the encodings

Mild overhaul to finish up Buffer encoding work which was started in the ["Strings" pull request](https://github.com/tessel/runtime/pull/542) but wasn't really fully implemented or thoroughly checked over.

Highlights:

- adds utf16le encoding/decoding (which had been completely absent)
- improves ascii/binary/hex/base64 logic too
- generally cleaner in/out logic