make pb/string-match-all bulletproof

passing a regex that matched to the empty string (i.e., "[a-zA-Z]*") to
pb/string-match-all would result in an infinite loop. this resolves that
given that we may soon allow recipes to specify regular expressions.
ignore stable package directory
add code for building stable packages

this code searches all tags and only builds if the tag matches a valid
emacs version string
Makefile support for stable packages