Reintegrate functional tests into etcd.

Running the functional test suite as a separate Go repo in Travis was proving to be a pain so I moved it back in to the `tests/functional` directory. Thanks to @rud for the suggestion.

Running `./test.sh` will now run the functional tests and it runs the store unit tests (which it wasn't before).