remote-bzr: access branches only when needed

Bazaar doesn't seem to be tested for multiple usage of branches, so
resources seem to be leaked all over. Let's try to minimize this by
accessing the Branch objects only when needed.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
remote-bzr: fix progress report

In bazaar several revisions might have the same revno, so only report if
it's the main one (no dotted branch stuff).

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
remote-bzr: export HEAD

It probably doesn't make any difference, since we usually fetch along
the 'master' branch, and when we don't probably the current
transport-helper code doesn't work correctly.

But if it did work correctly, this might be useful.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
remote-bzr: sync with bzr-next

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>