Fix broken git status

Fixes broken git status. Abstracting out gitIgnore into a class. Leaving full implementation for later.

@devoncarew PTAL
Definitely, I will add a more descriptive to-do