Refactor tests

#### refactor the tests into separate files

As suggested, the name unittests.py does not reflect all the different tests anymore.
Also the file got quite large -- so it's time to split.

###### from the main commit:
central to all is the test_common module that
provides functions to create files and users to test
and to populate the backends.

there are:
storage_interface_tests: defining the interface of the storage layer
storage_integration_tests: testing thw whole stack for the storage
  functionality from an http client point of view
register_integration_tests: client-like testing for the registering
  functions

The tests have just been restructured, no new things have been added.
The storage integration tests have been refactored to use the
resource object just like the storage interface tests --
no semantic changes.

Also changed the .travis.yml to run the new test set.