Cleanup: removed obsolete tests
Ignore included requirements files when parsing requirements file
Added basic requirements file for tests
Integrated py.test with setuptools test command

Allows to run tests by executing `python setup.py tests`. This will still
do nothing because the existing tests haven't been adapted yet.

The code has been brought from the py.test good practices documentation
available at http://pytest.org/latest/goodpractises.html
Moved existing tests to the high-level tests directory

These have been simply copied and running the tests will still fail. The
tests from `evernote_stats` have been simply removed because the app will
go away in the near future.
Allow running test using `make test`

Sets up a virtual environment for testing, installs the dependencies and
executes the test runner. This is just a starting point and will need to
be adapted if there's a will to integrate with CI tools.
Allow setting test-specific settings

Basically test environments will ignore the usual settings/90-*.conf
files, whereas settings/90-tests(-local).conf will be read.

The provided test settings file is just a starting point for now.
Added pytest fixtures

These pytest-style fixtures replicate the initial dataset that the
`initdb` command creates. Ideally we should find a way not to repeat code
in both ends.

Any fixtures defined in modules under the `tests/fixtures/` directory will
be automatically loaded when running the tests.
No need for a `nonpriv` user

We already have some predefined users (nobody, default, admin) that can be
reused as fixtures.
Moved and extended simple admin site tests

Note that when testing views access to the DB is required because the
default context processors access the DB to make some data available all
the time. We should probably mock those objects and rather avoid the need
to access the DB in simple tests like these, otherwise, as the test suite
grows, they'll need a lot of time to complete.