Add get_peeled to BaseRepo so HTTP and git servers use one call to peel tags.
This method needs to go in BaseRepo rather than ObjectStore so it can take
advantage of the cached peeled values in the packed-refs file, which belongs
to the RefsContainer. To this end, added a similar get_peeled method to
RefsContainer that accesses the peeled ref cache. Unlike BaseRepo.get_peeled,
RefsContainer.get_peeled returns None if peeled ref information is not cached
(since it does not have access to an ObjectStore to do the peeling itself).
Modified the TCP git server and dumb HTTP server to advertise peeled refs
consistently and correctly. Added tests for all new functionality.
Change-Id: I214ffee1a3459a746a7e34a1d04c0f527c5c8347