cleanup: no need for special Pootle db setup script

Well documented elsewhere and better scripted now.
Tests: added basic requirements file
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
Tests: removed obsolete tests

Conflicts:
	pootle/apps/pootle_store/tests.py
Tests: moved existing tests to the high-level tests directory

These have been copied and slightly adapted. Running the tests will still
fail.

Conflicts:
	tests/models/unit.py
Tests: allow running tests 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.

Conflicts:
	Makefile
Tests: 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.

Conflicts:
	pootle/settings.py
Tests: 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/` umbrella will
be automatically loaded when running the tests.
Tests: no need for a `nonpriv` user

We already have some predefined users (nobody, default, admin) that can be
reused as fixtures.
Tests: allow to load fixtures from various modules
Tests: set own PODIRECTORY

Also added some test files that mirror the files created in the previous
tests.
Tests: fixed suggestion test and converted to pytest
Tests: fixed existing Unit model tests

Conflicts:
	tests/models/unit.py
Tests: keep view tests apart

Conflicts:
	tests/pootle_app.py
Tests: get rid of `PootleTestCase`

The new fixtures are enough to replace this class' behavior. Note that
tests that were inheriting from `PootleTestCase` have been adapted to use
Django's own `TestCase` but only for completeness, not for correctness.
That means these tests are still broken and need to be adapted.

Conflicts:
	tests/pootle_app.py
Tests: always setup temporal PO directory

Ensures tests will always read/write files from a clean location.
Tests: skip format-specific tests

These are of no use for us but upstream might be interested in picking
them up and updating them.
Tests: removed editor-specific functional tests

The internal XHR API should be tested apart and the functionality should
be tested straight away in JavaScript.
Tests: organized and revived project/tp functional tests

Note that the translation project tests have been simply converted to the
pytest style without further changes so have been marked with
`pytest.mark.xfail`. Since these test features we don't have/use, these
are only kept for upstream.
Tests: monkeypatch `cached_property`

The cached values were causing trouble when DB objects were involved since
they referenced to "old" models and then every single test was flooded by
`IntegrityError`s.

Not the nicest way to replace a decorator but we need to do that before
the modules using it are imported.