octopus: fallback on empty tree for ancestor

This is preferable to just aborting when no
common ancestor is found since it handles merges
of intersecting branches.

This is incredibly useful functionality when
consolidating multiple repositories (potentially
after using filter-branch to fix paths).

See http://stackoverflow.com/questions/10874149.

Signed-off-by: R. Andrew Ohana <andrew.ohana@gmail.com>