Move exception to its own directory
Add specific exception for invalid project

+ Fix project navigation on project-specific error messages

commit 58192a65efbc413f94e64021f586acf35d1e659e
commit 52db6945c8f684d58fee688920e4f058dd173f9b
commit 76857c1c29e4aeaf499f482dcafb49ef67b0ffa7
...
and some more
Add specific exception for missing project parameter
Add specific exception for the search feature

commit bfb6647120a5788e14dbb0cbe8a9073f66c5418b (disabled)
commit a872993d9427cb4bc7643573e72fc93e590afb48 (type)
commit ac746ed281b5a00b75ea41c7592cd5524865e975 (length)
Add specific exception for invalid hashes
Add DiffToParent exe parameter, optional
Add specific exception for invalid git exe configuration
Add specific exception for missing projectroot config
Add specific extension for missing memcache support
Add specific exception for invalid directory in config
Add specific exception for non-configuration directory error
Add specific exception for invalid project list file

+ Manifest
Signed-off-by: Tanguy Pruvot <tanguy.pruvot@gmail.com>
Other project Exceptions

- invalid git repository
- project list file read failure
- directory traversal
- outside project root

+ repo manifest variant

commit 547ba033a5fb7bfa1ff46880ff481180d5dd0d14 (invalid repo)
commit b75707f378881e551d3995cf8164149082a53b2e (read failure)
commit 58fd0adb60e51c461e8ce0f53dbe83135c25aa51 (directory traversal)
commit 60bbafde3e11a8c5e6e0403053b98c7c37cff638   (fix)
commit 215536da8fd9aeaa0a838c945eed46c41a531ab9 (outside)
Add localized exception for config file read error
Throw an error when an invalid path is specified in the url

or if the commit is an ambiguous abbreviated hash

commit bb6f30670bcbd1a6d87328daef9676f373e005d8 (path)
commit 3b71c9f28d90526e82f15502cc83e230cb032345 (hash)
commit 993f28bebee0d5c7cab7551760ff947d1cf6ba35  (fix)
Controller_Commit: add a check for invalid hashes parameters

throws GitPHP_InvalidHashException instead