Switch to tox

Use the tox virtual environment testing framework to make our
lives easier. The code style and linter programs really belong
there, in the testing environment.

The tox configuration also defines a linter environement
(`tox -e linters`) that is not useful right now. The state of
the codebase is too bad and we will transition step-by-step.
Instead, we have to make sure the new patchsets are validated
and to that extent the linters should be run manually for now.
A pre-commit hook can be installed to run flake8 automatically.

The two linters included with this patch (flake8 and pylint)
use fixed versions to have a consistent linting experience.
They also have their own requirements file since they can be
used independently (or combined, as with tox).

Also, remove the following dependencies:
  - autopep8 as it is not part of the flow (yet);
  - coverage as it is not part of the flow (yet);
  - mccabe (installed by flake8);
  - pep8 that is the older name of pycodestyle (installed by
    flake8);
  - pyflakes (installed by flake8).

Change-Id: Ib5b6ef2860cb83788adee52b4c4716a5b634bc10
diff --git a/.pylintrc b/.pylintrc
new file mode 100644
index 0000000..f670eb3
--- /dev/null
+++ b/.pylintrc
@@ -0,0 +1,23 @@
+[MASTER]
+
+# Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the
+# number of processors available to use.
+jobs=0
+
+# List of plugins (as comma separated values of python modules names) to load,
+# usually to register additional checkers.
+load-plugins=pylint_django
+
+
+[REPORTS]
+
+# Set the output format. Available formats are text, parseable, colorized, json
+# and msvs (visual studio). You can also give a reporter class, e.g.
+# mypackage.mymodule.MyReporterClass.
+output-format=colorized
+
+
+[FORMAT]
+
+# Maximum number of characters on a single line.
+max-line-length=79