Mail::File: Fix ordering of encoding check and base64

Base64 decoding was performed after the file's encoding had been set, so
the encoding change would have no effect on the final result.
Fix header case sensitivity bugs in multipart message handling.

Alpine can send out headers like this:
Content-Type: MULTIPART/MIXED; BOUNDARY="-1463795968-845400213-1301213237=:31464"

Make the "BOUNDARY" key lowercase internally and use case insensitive
regex to recognize the multipart/* mime types.
Mail::Headers: Fix bug if Content-type split on multiple lines

If a Content-type header was split on multiple lines like this:

Content-type: text/plain;
    charset="utf-8"

... the continuation lines would silently get ignored.
Mail::Content: Escape regex when parsing multipart content

Sylpheed can use "+" in the multipart message boundary string, like this:

Content-Type: multipart/signed;
    boundary=Signature=_Thu__17_Mar_2011_09_10_48_+1100_Cs034us9N65LwMrW

Those characters must be escaped properly before interpolating them in a
regex.
Mail::Content: Fix multipart message parsing.

Only the first content line would be parsed, and all other lines would
be ignored.
HACK: force encoding.