Moving all classes under the PreCommit namespace.

Changed the `PreCommit` class to be a module instead.

There are some indentation changes in the patch, however no functionality has changed. Each test passes when run individually as well as the entire suite when run together.

cc: @grosser @darrenboyd 
cf: #46