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
Probably we want to test main scenarios, of which CAS is a big one.  Once this lands I think we'll start asking folks to make sure they have integration test coverage for their high value paths.