switch to sockets.tcp for the socket provider

Tested with 'grunt integration', which verifies that basic tcp functionality works.
Note that manifests of chrome apps using this version will need to change per https://developer.chrome.com/apps/app_network
@dborkan maybe you can look at this.

My memory is that some read-errors are not real errors. In which case, removeActive is a bit too aggressive here. I think I remember seeing -15 errors that were part of expected behaviour.