Take project name as argument in getBasePath method to allow a sub class
to overrride the method and return an alternate base path.
Refactor other LocalDiskRepositoryManager methods to use getBasePath
method instead of using the basePath member variables.
Implement LifecycleListener to be able to move the initial call to list
method from the constructor to the start method to allow sub class to
override any methods. Otherwise overriding a method used in a super
class constructor can end up calling a method in a partially initialized
sub class.
Since getBasePath takes the project name as argument, update GitWeb to
pass the project root as an environment variable.
Change-Id: I7288f43bd5391ccac58a8bd561f56eb6bea26390