Cleanup header tests by using table driven methods
Refactored parser

Watched Rob Pike's talk on the go template lexer, and decided to copy
his state machine design.  Should make the code easier to understand.
Respect MIME header/embedding rules from RFC 2047