Add support for arbitrary headers to email package.

Ordering is not preserved since we're using a dictionary, but header
ordering doesn't matter anyway.
Make email tests include a custom header.

I'd like to test that adding multiple headers is working fine too, but
the current tests are already order-dependent. Fixing this properly
would probably involve the tests depending on something like mailparser.