dist: Call clean target before any other action

In case 'make dist' is invoked from a dirty tree which hasn't had its object
files cleaned up, clean out the tree first before tarring up the files for a
release.