Warn about possibly confusing deps + refactor

* Added code to show warnings about possibly confusing dependencies
* A command line option '-w' or '--nowarn' added to allow for inhibition
  of the warnings
* A lot of code had to be refactored to do this cleanly
Hack around a weird behaviour of pip

Some dependencies are not present in the result of
'pip.get_installed_distributions' eg. 'testresources'. This is a hack
around it.