Add support for HTTPS routing

I'd like to make strowger support HTTPs proxying, in particular, using SNI for multi-host support.

This isn't done yet (cert configuration in etcd needs to be added), but it is the first go code I am touching, nor am I very familiar with flynn, so I'd love some feedback.

There are some other assorted changes in there (like returning error responses for 404, bad gateway etc). I'm not expecting this pull request to be merged as-is, but would appreciate notes as to what can be.

I've added a dependency to go-vhost for parsing the SNI host.