cli integration tests

This is the initial code for the CLI integration tests based on Go's testing framework.

These tests don't remove, nor replace the current integration tests. This is an additional set of tests.

Things to be done:
[ ] how to handle running a local private registry for testing (what image to use, how to run it, etc)
[ ] tests for the utilities used for the tests
[ ] receive input from: @creack, @crosbymichael @shykes @tianon @vieux
[ ] fix some issues with broken printing
[ ] clean up and refactor the code based on input
[ ] figure out how to handle timeouts
[ ] add more needed functions to utils
[ ] decide if dropping go testing would be a good idea