Improve logic for file exclusions
Add newline to log output
Exclude files that should not be in tarballs

This includes all system and build files (e.g. .travis.yml, phpunit test
scripts, etc) and user-custom files (config_inc.php, custom*.php) as well as
docbook sources.

Fixes #16258, 16180
Refactor the tarball building code
Refactor the tarball signing code
Refactor the checksum generation code
Use shutil.rmtree to delete the build dir
Simplify sed regex to apply version suffix
Use subprocess.call instead of os.system