integration cli: add some utility functions and use them

This PR adds functions required to run commands with timeouts and convenience functions for running Docker commands with timeouts.

It also adds a getContainerState function to make it easier to get a container's state (running, not running and its exit code if it's not running).
I'm against custom assert again :) Because on test fail error will be from "what-the-hell-is-this" file and line. Why we can't just return errors from utils and do if err != nil { t.Fatal(err) }?
With custom assert we save three lines, but lose fail information totally.
And anyway you've wrote this three lines below :P