abort if working directory contains unstaged changes

It's important that we continue to include staged changes in the release; *unstaged* changes should be staged or reverted before publishing.

Should we go a step further and abort if there are untracked files, to prevent their inclusion in the tarball?