Use godeps to vendor dependencies and the normal go toolchain, with
GO15VENDOREXPERIMENT=1 set to properly vendor dependencies for reproducible
builds.
Previously, 'ldflags' were added to the compiler invocation based on the
version of Go the user was running. It seems to make more sense to
simply always pass along the flags on Darwin (due to the bug mentioned
in the comment above this line in the diff) as that is less brittle than
branching on the Go version, and yet will not break current users /
developers work flow.
Passing the '-s' flag to the linker in < Go 1.5 emits an error and
produces a binary that, once codesigned (I believe) will cause an
immediate bus error and terminate.
Refactor to introduce client/server separation, including a typed
client API and a HTTP REST server implementation.
Refactor the terminal to be an API consumer.