Automatically update the git cache on checkout

The user shouldn't need to know these internal details.
Remove unused Source::Git#update
Fix Source::Git::new example