Add a release script

The Makefiles were mostly filled with a complex shell script written in
m4sh. Moving that out into a separate script helps debugging and
compatibility, and in general makes life better.

This also improved the DEVELOPERS.md documentation to be more clear
about the steps of a release, including third-party packages.