keeping http error event listener until after socket closes
keep on error event, remove ability to destroy socket multiple times
Merge #643 r=@jiahuang: make http consume tcp errors properly

Sometimes the CC3k can't close its socket and throws an error. Http's `_unplug` was removing the error event listener once the message was parsed, but before the TCP socket was actually closed.
Passing in buffer data to http parser

adding test

getting rid of unncessary cast
Corrects signedness error.
added date.toUTCString
fixing http test
Merge branch 'jh-http-buffer' of github.com:tessel/runtime into jh-http-buffer
Merge #646 r=@jiahuang: Passing in buffer data to http parser

Fixes Keen.io again. Or anything that sends binary data over http.

Test case is this:

```js
var Keen = require('keen.io');

var keen = Keen.configure({
    projectId: "53fd0676e861701e17000001",
    writeKey: "510a87bcaca6d22103d47cb364520700218e44e2c99542331baf91e2988e143a1b891561838af27a9e4466b8834939c14547402f610a1e9075448740e97fc8b82918da10f409ffbab761eb6e394cccb7db133ba935d22a1189d1f91d70eed76b8f05b16133c91417da5438b15d4327f7",
    readKey: "e59871426c869471154eeebdf6e7feb02309f6d0d12574cd655fa8187d0dec5c16922b8a72364c3f192a5459e4debace4b70594fa8cd69e2af1f3b1c9d17d689677d20c806e7a690213122e8f022f496ee10c918013a07e246b3ae5247b66dc27167ee479f1d209c9f2aec115a5830a6"
});
 
var count = 0;
setImmediate(function sendToCloud(){
	keen.addEvent("tessel-climate", {
	   "temp": 12345
	 }, function (err, res){
	 	if (err){
	 		console.log("err occured", err);
	 	}
	 	console.log("res", res);
		count++;
	  	console.log("added event", count);
		setTimeout(sendToCloud, 1);
	 });
});
```
Merge #647 r=@tcr: added date.toUTCString

This PR adds support for date.toUTCString(). 

I found out the hard way that a lot of date functions are not fully supported.

I'm a bit confused by timezones if and how they are implemented in lua/colony. It doesn't appear to be present. Maybe a more explicit end user command for initializing a tessel to a TZ would allow for these additional date functions to be flushed out. Again, my understanding currently is limited, but dates seem really important to me.

This patch gets me up and running with the npm/knox library for working with amazon s3.
adding event when js script starts running
Merge #649 r=@jiahuang: adding event when js script starts running
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