Start moving stuff to git-util library

Re-impliments everything except the status commands
Add cmake install to readme
Add Cakefile

I keep forgetting the order of coffee args
Add ahead/behind counts
Add detector for detached head state
Remove debug
Add generic status command

Returns an array of objects, so the result *must* be formatted
Add some comments about what each command does
Double check for ignored files in status

libgit2 is silly
Add comments for new, untracked, modified, and deleted file counts
Expose the repo object

Might be useful
Remove unused context binding
Add a couple more comments
Try to automate installing CMake

If you have Homebrew installed, run `brew install cmake` in a preinstall script
Add a fallback noop to preinstall script
Reduce some code duplication

Adds underscore as a dependency
Always return an array from status, even when we're not in a repo

More predictable behavior
Cleanup and simplify checking for valid getStatus() return
Use loop as an expression

Removes some boilerplate cruft
Prefix commands that require formatters with an underscore

If commands return values that can't reasonably be used without formatting, this seems like a good way to indicate that.