add boolean property: 'files.dirty' if working dir is dirty

Tested with both JGit and native git. Handles both staged and unstaged commits.
this was *very* expensive, I have reimplemented it to not kill performance on large dirty repositories :-)