Adding vim coda to source files

Yes, I'm pedantic, but hey, tabs in python source code is just bad style.
[tests] adding initial tests of the Model() class
Adding a makefile to run test suite etc.
Ignoring vim backup files and coverage directory
Adding a 'tags' target to generate a tags file
'cover' target should be .PHONY
[tests] adding tests of the View() class
[tests] adding tests of Controller() class
[modules] adding questions about methods

This is because some things aren't clear and it would be good to know the
answers so that the tests are testing the right stuff.
[modules] removing unnecessary shebang lines

The shebang line is only needed in a script or binary such as trove.py
itself.  The modules are loaded as libraries and thus won't be run
independently of the main program.
[view] putting spaces around operators

This makes the code more readable.
[modules] removing unused imports

Also specifying imports in controller (wildcard imports are not good
practice)
Replacing single char variable names with more descriptive ones

Single char variable names aren't good style and thus should be avoided.
[model] renaming file -> config_file

Using the variable name 'file' redefines a python builtin function and thus
isn't a good idea.
[modules] adding docstrings to all modules, methods and classes
[modules] explicitly importing classes in __init__.py
Adding vim coda to source files

Yes, I'm pedantic, but hey, tabs in python source code is just bad style.
[tests] adding initial tests of the Model() class
Adding a makefile to run test suite etc.
Ignoring vim backup files and coverage directory