Start working on a RepositorySpec

* All sources went through scalariform.
* Add scala-reflect to sbt libs.
* Add some details to GitException
* Make Repository.workDir return an Option
* Add beginnins of RepositorySpec