stream: make it possible to handle errors based on HTTP reponse

This is an example of error handling base on HTTP status code:

```go
stream, err := Subscribe("http://127.0.0.1:8080/stream", "")

if err != nil {
  t.Error("failed to subscribe")
}

if stream.HttpResponse().StatusCode == 500 {
  // you can handle error as you like based on status code
}
```