Big refactoring with tests in mind.

* printed errors are going on stderr
* using format() instead of '%' as recommended
* subprocess.Popen instead of os.system
* factoring stuff out (to ease the tests)
* using file mock to test prepare-commit-msg
* some utf-8 for people with non ASCII names
* six is not required anymore

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>
Checks and component names from rst, js and css

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>
Coverage measures on all the hooks.
Merge pull request #22 from greut/refactoring

Refactoring with tests in mind
hooks: regression fix of introduced deadlock.

* `Popen.wait` may hang. Lars did it correctly the first time...
  https://docs.python.org/2/library/subprocess.html#subprocess.Popen.wait

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>
Merge pull request #25 from greut/no-wait

hooks: regression fix of introduced deadlock.