router: Check hostname for every HTTP request

Closes #152

Signed-off-by: Jonathan Rudenberg <jonathan@titanous.com>
README: Add DNS example

Signed-off-by: Jonathan Rudenberg <jonathan@titanous.com>
CONTRIBUTING: Add subsystem prefixes to checklist

Signed-off-by: Jonathan Rudenberg <jonathan@titanous.com>
cli: Added a workaround for running flynn-cli on Windows using MSYS
Signed-off-by: Piotr Zduniak <piotr@zduniak.net>
Merge pull request #155 from pzduniak/master

cli: Changed home directory finding function to fix paths on MSYS/Cygwin.
controller: Close attach conn when client disconnects

Signed-off-by: Jonathan Rudenberg <jonathan@titanous.com>
controller: Send exit event in log tail SSE stream

Signed-off-by: Jonathan Rudenberg <jonathan@titanous.com>
test: Move runner html into assets dir

Signed-off-by: Lewis Marshall <lewis@lmars.net>
test: Set build timeout of 10 minutes

Signed-off-by: Lewis Marshall <lewis@lmars.net>
Merge pull request #154 from flynn/runner-assets

test: Move runner html into assets dir
Merge pull request #158 from flynn/test-runner-timeout

test: Set build timeout of 10 minutes
Godeps: Bump docker and libcontainer packages

Signed-off-by: Jonathan Rudenberg <jonathan@titanous.com>
host: Remove unused docker-specific interface in attach.go.

Signed-off-by: Blaž Hrastnik <blaz.hrast@gmail.com>
host: Use upstream go-dockerclient.

Signed-off-by: Blaž Hrastnik <blaz.hrast@gmail.com>
Merge pull request #156 from flynn/sse-exit

controller: Send exit event to log tail SSE stream
Merge pull request #161 from flynn/docker-fixes

go-dockerclient from upstream
host: Dont start new jobs if shutting down

Signed-off-by: Lewis Marshall <lewis@lmars.net>
Merge pull request #157 from flynn/host-shutdown-no-new-jobs

host: Dont start new jobs if shutting down
host: Rewrite logbuf.

Log reading is essentially composed out of two parts: reading the old log lines
out of a log file, and (if streaming), keeping track of new log events and
forwarding them to the client.

As such, we create a listener based system, where Log will now follow a stream,
and transmit any new events. Internally then we use the same listener to write
logs to a file (buffered to one JSON object per line, or to a certain maximum
length), and provide a utility function that reads the events back from the
file, and sends them back into a specified channel.

So the procedure for returning logs, and following the tail: we read and stream
old lines, then we subscribe a listener and keep looping to receive new lines.

Signed-off-by: Blaž Hrastnik <blaz.hrast@gmail.com>
host: Logbuf now can return a select number of log events.

Signed-off-by: Blaž Hrastnik <blaz.hrast@gmail.com>