implement RFE 3238, 'GPG Mime Plugin exports contents to a tmpfile unnecessarily'

The function gpgme_data_new_from_filepart() accepts a file stream with an offset.
This information is already available via the mimeinfo variable.
Instead of creating a new, temporary, file that contains some of the gpgme data, just use the original file as is.
This saves resources especially on flash disks that have a limited number of writes.

Patch by Kevin Day <thekevinday@gmail.com>
tidy up after last commit
Actually display "(No From)" in messageview's From column when appropriate.
Add check for a NULL parameter to extract_address(), to prevent possible null pointer dereference.