Reorganise dependencies and package files

Remove unnecessary files from requirements.pip and make the required
versions open ended.

Move requirements that are not required in the standard testing process
to dev-requirements.pip. This makes it obvious what is required for
testing purposes and what are helper programs.

Integrate better with nosetests and coverage so that running via
Makefile is not required. Fix test that relied on specific pinned
requirement version.

Add extra files to the MANIFEST that should be distributed with the
library.

fixes #116
Move tests into package

Tests should really be distributed as part of the package. It allows an
end user to run the tests and verify that the installation on their
machine works. It is also required for packaging to test that all
dependencies are met.