add more checks to build_release.py

When I ran build_release.py to release 1.3.3 I noticed the git clone I
was working from had an extra "elasticsearch" subdirectory (probably I
did this earlier) and git status said "# Your branch is ahead of
'origin/1.3' by 33 commits." which is spooky.

I ran "git clean -f", and Simon suggested "git fetch origin" and sure
enough that fixed "git status" to be "clean" again.

I think the release script should check to make sure there are no
untracked files in the area, there are no uncommitted changes, you
have all changes from origin, and you don't have any unpushed changes.

(Separately we should maybe upgrade the git on the build box ... it's
1.7.9.5 now.)

I tried to make these changes to build_release.py but likely messed it
up (git is ... magical to me).

It seems like it would be best overall if the script just made a fresh
clone of the branch for release?  Seems spooky to reuse a clone from
one release to the next...

I also put in a few other cleanups that I noticed when building
1.3.3.

You can use subprocess instead:

s = subprocess.check_output('git diff --shortstat', shell=True)