Fix broken git status

Fixes broken git status. Abstracting out gitIgnore into a class. Leaving full implementation for later.

@devoncarew PTAL
This will need some more context. It'll need to know the objectstore and / or have access to the file entry as well. You might want to add a todo for this. The best API will probably become clearer once there's an implementation.