src: Add StringBytes static util class

Four functions:

- StringBytes::SizeFast()
- StringBytes::SizePrecise()
- StringBytes::Write()
- StringBytes::Encode()
src: Use StringBytes in StreamWrap
src: lint stream_wrap.cc

src: Use StringBytes in StreamWrap

revert stream wrap changes (different approach coming)
buffer: DRY string decoding using StringBytes
src: use StringBytes for DecodeWrite/DecodeBytes/Encode

Bonus: this makes node::Encode actually work properly with base64,
ucs2, hex, etc.
buffer: Use StringBytes::Encode
buffer: templatize the StringSlice functions
crypto: Pass strings to binding layer directly
crypto: use StringBytes::Encode
crypto: Pass encodings to C++ for Sign/Verify
crypto: Pass encodings for Hmac digest
src: Use StringBytes in StreamWrap