fix version definition when compiling from non-Git checkout

This also changes the release process; just before making a release
we have to remove the "-development" suffix in VERSION, commit and
tag the release and immediately after that increment it and re-add
the "-development" suffix in the very next commit.

This ensures that released versions will not have a suffix and
unreleased versions will have "development" as the suffix (if not
having Git or from tarball) or the commit ID if Git is present.

This also means that the VERSION file should never have a newline at the end.