test: add support for functional tests

This patch adds an xfstests-style functional test suite.  Run "tox -e tempauth"
to test swift3 with TempAuth, and "tox -e keystone" to test with the Keystone
auth system.  You don't need to prepare Swift and Keystone system for that.
They will be started with minimum configuration automatically.

If you already have a Swift cluster for the functional test, run "./check" in
the test directory directly.  Individual tests can be run using "./check 003",
and various other options are also supported.  Try "./check -h" for more
information.

I added some sample test cases but they are not enough at all obviously.  More
tests will be added soon.

Change-Id: I75abce574768abbe88f60d8c1eee87757651e357