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