Api tests - initial commit

Initial commit of Api Tests.
The initial structure for the tests resembles that of other projects, with the test being located under ./tests/api .

To run the tests:
1. *pip install -r deuce/tests/test-requirements.txt*  . The requirements for the api tests include:
nosetests
jsonschema
ddt
opencafe
2. Make a copy of *deuce/tests/api/etc/tests.conf.sample* and edit it with the appropriate information for the deuce base url of the environment being tested
3. Set up the following environment variables:
__CAFE_CONFIG_FILE_PATH__ (points to the complete path to your test configuration file)
`export CAFE_CONFIG_FILE_PATH = ~/.project/tests.conf`
__CAFE_ROOT_LOG_PATH__ (points to the location of your test logs)
`export CAFE_ROOT_LOG_PATH=~/.project/logs`
__CAFE_TEST_LOG_PATH__ (points to the location of your test logs)
`export CAFE_TEST_LOG_PATH=~/.project/logs`
4. `cd deuce/tests`
`nosetests --with-xunit api`
Note: You may want to redirect stderr to a file. Opencafe's logging captures all the requests and responses and nosetests outputs the capture data when a test fails, including all binary (block) data 
I wasn't sure about that, because of OpenCAFE.
The teardown inherited only takes care of the logging/reporting for OpenCAFE, determining the status of the test run and it doesn't really do anything with clearing resources.
In the case that something "fails" during teardown, the CAFE logs would end up with incomplete information about how many tests were run/passed/failed