Significantly more-correct implementation of net.js.

Includes:

- Socket timeouts (still need to add to server)
- Half-open support
- ref()/deref() support of server & sockets
- TCP nodelay
- SO_KEEPALIVE
- Stream.Duplex on net.Socket
Move all java bits to io.nodyn package name
Significantly more-correct implementation of net.js.

Includes:

- Socket timeouts (still need to add to server)
- Half-open support
- ref()/deref() support of server & sockets
- TCP nodelay
- SO_KEEPALIVE
- Stream.Duplex on net.Socket
Move all java bits to io.nodyn package name
Move EVENT_LOOP to process.EVENT_LOOP
Merge branch 'more-correct' of github.com:nodyn/nodyn into more-correct

Umm, yeah.
Conflicts:
	src/main/java/io/nodyn/util/QueryString.java
	src/main/javascript/net.js
	src/main/javascript/node.js
Stupid merge oversight
JSHint net.js
Arrange for the JS code to initially run in an event loop thread, to avoid several different loops being created that could then execute code at the same time.

I also added a check to ensure that .end on an internal http client request is called only once, since NodeJS seems to tolerate that and I've caught npm modules doing it.
Merge pull request #58 from malaporte/fix-event-loop

Fix concurrency issues caused by JS callbacks running in different event loops
Add some fs.WriteStream bits
Remove unnecessary sleep now that top-level is in the event loop
Make Nodyn subclass DynJS. Extend DynJS Runner to always run in an event loop.
Rework http.Agent and http.request() to follow the documentation.
Rationalize names of netty handlers to ${FOO}EventHandler is most cases.
Adjustments and cleanup around Nodyn and NodynConfig
require('vm') works and tested.
Ensure we don't toString() a lot of nulls onto a buffer that has a length
longer than its actual content-size.
Only build master branch on travis-ci
Fix two issues:

#1 http.request ignores hostname specified through "hostname" option. Now hostname has priority over host, as per Node documentation.

#2 bufferToString fails when encoding passed is undefined. On real NodeJS this works fine, and some popular NPM modules (request) were breaking in part because of this.

Also add the 'constants' module from Node's sources.
Arrange for the JS code to initially run in an event loop thread, to avoid several different loops being created that could then execute code at the same time.

I also added a check to ensure that .end on an internal http client request is called only once, since NodeJS seems to tolerate that and I've caught npm modules doing it.