Require node to check if remote node is ancestor
Checkout should work on 'non-inited' repository too

If you clone a repository with no content, then later fetch from that repository when it's got content, you previously couldn't check out anything because ungit tried to stash changes even though there's no real HEAD yet.
Show error when trying to push with unfetched remote changes. Fixes #88