ref(builder): switch to pre-receive hook

This PR switches the builder from a `post-receive` hook to a `pre-receive` hook, so that a failure in the build stage will not update refs.  This allows the user to re-push the app without having to bump a commit.

Fixes #1798
Fixes #1874