epg: Simplify epa-pinentry-mode handling

* epa-file.el (epa-file-insert-file-contents)
(epa-file-write-region): Remove redundant check of
epa-pinentry-mode.
* epa.el (epa-sign-file, epa-encrypt-file, epa-decrypt-region)
(epa-sign-region, epa-encrypt-region): Remove redundant check of
epa-pinentry-mode.
epg: Fix callback argument type check

* epg.el (epg-context-set-passphrase-callback)
(epg-context-set-progress-callback): Check if the CALLBACK
argument is a function, instead of a cons.
Port new time stamp handling to Emacs 23.2.

This fix is for Gnus.  Problem reported by Katsumi Yamaoka.
* calendar/time-date.el (time-add, time-subtract, time-less-p):
Use eval-and-compile, not eval-when-compile.