Add virtualenv to Git ignore list
Starting point

* Removed all resource files (settings, menu, shortcuts, etc)
* Basic plugin shell
Split into separate files
Add tests folder/package
Add PollingThread class
Add FileWatcher class
Add CoverageFinder class

This will be used in multiple places to find the coverage file for a
given source file.
Add ViewWatcherMediator
Log detected changes to files' coverage data
Split out CoverageCommand with finder stuff
Add ViewUpdater to update coverage data in a view
Update coverage on startup, and when opening views

Previously it'd only update when the coverage data file changed.
Add coverage data parser/model
Return coverage data in CoverageCommand::coverage()
Add CoverageWatcher
Re-use parsed coverage data on update
Remove annotations when coverage file deleted
Fix import issues with Python 2
Avoid using library module names
Use assertIsInstance for type assertions