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

Tested with both JGit and native git. Handles both staged and unstaged commits.
Sounds reasonable. But I'm curious if `-s` is really faster than `--porcelain`? On my system both produce the same output (the former being colorized, assuming git thinks it is talking to a tty). On the largest repo I could quickly find (linux kernel) both performed identically (~100ms after 10 runs).