feat(tests): rewrite integration tests in Go

We've talked about this for a while. I'm making a formal PR to rewrite the integration test suite in Go. Along with this PR is the feature to check the output of each command and check and ensure that the status code is all right or the output returned is correct.

cc @mboersma, as this may greatly affect the work that he's currently implementing with the CI server.

Let's get the discussion rolling!