Setup Travis-CI to test on Go 1.3.
Merge pull request #167 from heroku/go-1.3-jkakar

Setup Travis-CI to test hk with Go 1.3.
printFatal on hkclient.New() error.
Fix panic in release-info

`hk release-info v1` always panics because there is no slug associated with the first few releases to Heroku.  This trivial change skips printing the Slug ID if the slug doesn't exist.
Merge pull request #169 from fanatic/patch-1

Fix panic in release-info
Merge pull request #168 from dpiddy/fatal-on-hkclient-err

printFatal on hkclient.New() error.
Bump heroku-go according to bgentry/heroku-go#12
Add support for heroku-agent [1]

This pull adds support for heroku-agent [1], which for the most part
involves a conditional override on the HTTP transport's `Dial` function
if the `HEROKU_AGENT_SOCK` env var hints that one might be running.

I've also included yet-unmerged changes to heroku-go which can be viewed
independently at heroku/heroku-go#12.

Please consider this feature somewhat experimental, and I'll prioritize
its removal if this project ends up faltering.

[1] https://github.com/brandur/heroku-agent
Expand a path which includes a home reference with `~`
Error doesn't have to be handled inside `Dial`; let this happen later
Merge pull request #170 from heroku/brandur-heroku-agent-support

Add support for heroku-agent [1]
`hk authorize`: two factor support for paranoid/privileged actions

As originally described by the design in #171, implements a command
called `hk authorize` that uses heroku-agent to procure and store a
token that will bypass two factor checks on paranoid apps and other
privileged actions for a short period of time.

Here's a sample interaction (slightly sanitized):

``` bash
$ hk env -a paranoid
error: A second authentication factor or pre-authorization is required
for this request. Your account has either two-factor or a Yubikey
registered. Authorize with `hk authorize`.

$ hk authorize
Enter two-factor auth code: ccccccdlnndfutjnddejbcceriigfjjbvulurgntjvum
Authorization successful.

$ hk env -a paranoid
RACK_ENV=production
```
Flex out the explanatory comment on this no-op
Merge pull request #172 from heroku/brandur-hk-authorize

`hk authorize`: two factor support for paranoid/privileged actions
Move `authorize` down to the more section
Exit with code 79 on a problem with two factor authentication
Add a document containing currently known exit codes of hk
Merge pull request #173 from heroku/brandur-exit-code-79

Exit with 79 on a two factor problem; document exit codes
Fix `hk log` under heroku-agent; don't mutate `http.DefaultTransport`

Unfortunately, having `HEROKU_AGENT_SOCK` set currently breaks `hk log`
because I overwrite the default `Dial` function. When `hk log` tries to
retrieve the URL for its log session, it can no longer perform a normal
HTTPS call properly.

This patches that issue by making `tr` just define a new transport which
it will then use for calls to the Heroku API and PG APIs. Even in
devclouds, setting `TLSClientConfig` should only be required for calls
to the API, so I don't _think_ that this will have any negative side
effects on the program.
Merge pull request #174 from heroku/brandur-fix-hk-log

Fix `hk log` under heroku-agent; don't mutate `http.DefaultTransport`