First version of new release script.
Make the release tagging smarter

* Only tag if the tag doesn't already exist
* Only make a new checkout if it hasn't already been done
* Perform the post-clone steps so we get a properly configured check out
* Only do a test build if the project is marked as testable