Work when in subdirectory of a git repo

This makes lolcommits work like git itself in that it can be run from a repo subdirectory.

When starting, after fatal conditions check, change current directory to
either some parent that is a valid git repo, or the fs root. Why the fs
root? It just doesn't make sense to add the code to change *back* to the
starting point since it's going to be a fatal error anyway and we're
going to exit.