improve travis upload and deploy process

* fails if deploy fails
* issue where deploy wouldn't occur if branch already existed fixed
* deploys won't override newer deploys
* deploy lock: only one deploy will occur at the same time to avoid
merge issues