If the header is not present, should it not be hashed as if it was the null string? Should we change get_header_value(binstr:to_lower(Name), KeyedHeaders) to get_header_value(binstr:to_lower(Name), KeyedHeaders, <<>>)?

```
When computing the signature, the non-existing header field MUST be
treated as the null string (including the header field name, header
field value, all punctuation, and the trailing CRLF)
```

Also, I'm unclear what this means, but it does not look like it is handled:

```
The DKIM-Signature header field is always implicitly signed and MUST
NOT be included in the "h=" tag except to indicate that other
preexisting signatures are also signed.
```
http://tools.ietf.org/html/rfc4871#section-5.4