all: Restructure app as a Python egg

It's easier to install the software with setuptools. It's less error-prone,
it will substitute the Makefile, and the functions declared as part of a
public API will be accessible to other Python scripts as a library.
netcontrol/main.py: Remove argument from `main()` function

Setuptools installs the function `main()` as the starting point, so all the
code needs to go in there.
MANIFEST.in: Add static UI files

Otherwise, setuptools doesn't pick it up for installation and the template
files are missing in the system.
netcontrol/api.py: Specify API for public library

These are going to be a set of functions exposed to other Python scripts,
so it needs to contain the lesser functions possible that allow a user
to perform any operation that can be performed from the UI.
extra/pylint.conf: Disable information message I0011

I0011 warns of "locally disabling XYYYY" messages.
tests: Remove everything related to tests right now

This is one of the major changes in this branch. After experimenting a lot
with virtual machines, I've realised that it's practically impossible to
write an end-to-end test framework for this tool.

Therefore, my decision is to add unit tests where possible, and later on,
add tests that exercise the tool, at least to check that it doesn't break
from a user perspective. Regarding the functionality itself, it won't be
possible to automate the testing of devices being able to access the
internet or not. Some critical functionalities *might* be covered with
manual-inspection tests, but for the time being, let's keep it simple.
extra: Moved out from production code

All I have there is two files used for the code checking (pylint), so it
mustn't be located along the application's code.
run_test_suite.sh: Specify netcontrol directory in $PYTHONPATH

Otherwise, pylint fails to import modules.
netcontrol/main.py: Pylint corrections

Imports from netcontrol were relative, and I've re-ordered them according
to PEP-8:

    Imports should be grouped in the following order:
        - standard library imports
        - related third party imports
        - local application/library specific imports
libraries/debug.py: Disable pylint message W0603

W0603: Using the global statement
ui/mainwindow.py: Pylint correction

Line was too long.
.gitignore: Ignore files built by setuptools

The directories "build" and "dist" are generated by
`python setup.py install`.
Merge branch 'setuptools'