skeleton implementations of send/receivepack
Add a post order diff walk and use it for faster fetch/push in LocalRemoteRepo.
Add progress listener to fetch and push
Make transactions copy all refs.

- Move the transactions namespace to refs/transactions
- Make TransactionRefDatabase copy all refs, including remotes, but
 not other transactions` refs.
- Change the semantics of RefDatabase.getAll() to actually return all
refs instead of just the ones under /refs (i.e. also the top level ones
like HEAD, WORK_HEAD, STAGE_HEAD), but not the ones under the transactions
namespace.