Implement alternates object stores

In relation to http://drupal.org/node/1076302, Glip needs to know how to properly handle repositories that reference alternates object stores.

It is not that hard to implement, luckily :)

I tried to minimize the changes. Would you be willing to accept some further refactoring of the Git class necessary to support references to object stores that are not part of a proper git repository structure? That would involve adding an optional $object_dir parameter to Git::__construct().

Damien