Adding repo update status caching.

We now cache whether or not the repo has a dirty working copy. This way we don't need to re-scan all repos everytime the dashboard is loaded.