Merge pull request #27 from jeremybanks/sockets

socket watching, with same interface as http polling
Merge pull request #29 from Manishearth/test

Forward test to master
Merge pull request #30 from Manishearth/master

Merge pull request #29 from Manishearth/test
Merge pull request #31 from Manishearth/test

Merge pull request #30 from Manishearth/master
Merge branch 'master' into test

[skip ci]