allow unsetting of epoch for rpm target packages

commit 3b5853e allowed target packages other than rpm to unset epoch
when --epoch was an empty string.  That didn't work with the rpm target
package because of commit d8f2ac which set epoch to 1 for rpm packages
even when epoch is an empty string.

This commit makes a distinction between nil and an empty string: when a
user passes an empty string for epoch (--epoch "") no epoch is set.
When --epoch is ommitted completly, it defaults to 1.