Make ahead tracking optional
Keep fetched objects
Track push state for all unmerged branches

Fixes #1
Fixes #3