branch: add new 'tail' concept

The 'tail' of a branch points to the first parent commit of the branch
when it was created.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
sha1-name: add @{tail} helpers

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
rebase: update branch tail after rebasing

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