Fixes #49. Add a couple of basic tests from net/http

Some of the basic tests don't work yet; need to investigate.

The one that do are enough to demonstrate some of the (now fixed) race conditions, which will help in figuring out if other changes still avoid races.

The fix to get spdy to run under httptest is to make sure to preserve AddSPDY's TLS configuration:

````
func newServer(handler http.Handler) *httptest.Server {
	ts := httptest.NewUnstartedServer(handler)
	spdy.AddSPDY(ts.Config)
	ts.TLS = ts.Config.TLSConfig
	ts.StartTLS()
	return ts
}
````