DOC: Only build and upload docs if we need to.

Checks the git hash of the already uploaded docs. Next TODO is not to build the branch each time locally, if we can avoid it. Not sure what my comment about it being easier to nuke it is for. All you need to do is checkout the branch, then pull. Won't work for tags, but it shouldn't need to.