Modular refactor

This also addresses:
* #13 (dup of #1)
* #12 by using `--flake8-options`
* #11 
* #10 
* partially #8 by adding VCS package where other VCSs could be added just by adding a module
* partially #4 (`source..target` is implemented in git)