Initial commit
Initial commit
main: Use a unique hostname for each VM
ssh: Close stdin after uploading a file

If we don't close stdin, 'cat' hangs and waits for more input.
ssh: Close output channel when io.Reader is closed
ssh: Use a channel to close the session when using Run()

Since Run() returns almost immediately, we need to wait until the
command has finished running before closing the session.
ssh: Don't print stderr for now

There was an issue with the output channel being closed twice, so
let's just not print out stderr for now and add it back in later.
Formatting updates
ssh: Automatically close channel after reading output

This removes the need for returning a closeChannel, and is probably
more reliable.
config: Change key values to be more 'Go-like'

Names in Go rarely, if ever, have underscores. This was a leftover
from the Ruby worker, no reason to keep it around.
Extract information on running a build into a 'worker'
worker: Use a logger with a prefix specific to the worker instance
main: Run two workers in parallel
Run three jobs
Get jobs from AMQP
Gracefully stop workers on SIGTERM
Use exit code to determine the job result
worker: Make the worker a single-use object
Clean up reporter

Since we only use one reporter per job, we might as well store the job
ID in the struct instead of passing it in for every call.
Fix issues raised by golint

This is mainly capitalization changes and documentation additions.