Many small changes in way crucible clone.sh and lint.sh works

Biggest difference is that now clone.sh will always pull the desired
repos, and then do 'git checkout <version>' of a specific revision of
the repo.  This way multiple people (or one person with multiple
computers) can consistently get the same version of the repos.