Add proper integration test suite

Only tests etcd, but sets framework for other types of tests.  Runs as part of hack/test-integration.sh during Travis.  Use the !no-docker tag for test suites that include Docker specific behavior.

Fixes #510
Shouldn't we call SetObj(key, "object") again to cover the CompareAndSwap case in SetObj method?

It seems there are a lot more such cases, but most of them is covered in unittest. Can we assume they work as expected?