Move all tests into one test folder.

Instead of spreading the tests around and importing one __init__
file into another, this combines all of the tests into one module.
This also move all code out of __init__ files into more aptly named
files.

This is the start of a simplification of the openspending code base.
Be more polite
Clean up imports, similar code, and unused coded in tests

Move to explicit imports instead of indirect imports. Focus on
the test helpers file since that was usually imported and the
helpers file imported with a glob from nose.tools, thus making
methods and classes imported as part of importing helpers.

Consolidated a few files, for example dataset tests had their own
helpers file which replicated some functionality in the test
helpers file (loading a model and loading data). So the functions
were moved into the test helpers and the model and data moved into
fixtures.

In addition codes or tests which don't do any tests were removed.
This includes commented out code, tests which are skipped because
they test features which still hasn't been implemented (with no
plans of implementing) and tests without any assertions (which seem
to only check if a function call or a get/post is possible with
checking any output). In some cases these tests were changed so
that they actually do assertions (instead of removing them) but
as this wasn't the main goal of this work there might still be
test cases in there which don't do any specific testing.
Clean up test helpers file

Test helpers file was importing things like os as _os for no
particular reason, silencing warnings which never show up and
included a method that was never used. So it needed a little
cleaning up.
Remove example load functionality from the db command in ostool

This loads a test fixture which is just a weird thing to load into
an instance and makes the functionality of openspending rely on
the code tests which is not what we want.
Add test case documentation

We want people to test every new functionality that gets contributed
as well as cover all functionality in the code base. To make it
easier for contributors to know how, we need to provide documentation
for how to create tests and work with existing ones.
Move setup database function into database test case class

The function to configure and initialised the sqlalchemy session
called setup_package was a global function which has now been
moved into the DatabaseTestClass as that's the class which needs
to configure and initialise the database.
Move test documentation from code file to the actual documentation

Information about how to run the tests were documented in the test
code file (base) but should, of course, be part of the documentation
itself.
Remove unused import in openspending.tests.base
Correctly document setup_database function

The previous docstring made no sense and was probably from an
older version of the code. So it needed a little make over to
at least make some sense.
Merge pull request #796 from openspending/test-makeover

Test makeover