Add big ugly test.

Verifies compliance of existing expected behavior, but will change soon.
Make message bodies []byte instead of string
Clean up handling of message headers.

- msgHeaders() curates fields from an Email along with its Headers map
  to create a sane set of headers for the email.
- headerToBytes() creates duplicate fields now rather than combining
  multiple values into one field, per RFC 2822 sec. 3.6.
Merge remote-tracking branch 'upstream/master'

Conflicts:
	email.go
More quotedPrintEncode speed-ups

Starting at a baseline of around 4600 ns/op:
 (1) Expanding "append(buf[:0], c)" into "buf[0] = c; nextOut = buf[:1]"
     shaved off about 1000 ns/op.
 (2) Using a [256]byte table lookup for isPrintable shaved off another
     600 ns/op
Shaving a little more than 1/3 of the time off on average, at least for
our test message.
Use slice instead of array in base64Wrap.

Looks like I was going a little overboard, and not getting any more
speed for the trouble.
Remove tinker cruft from test
gofmt
Set Date header as mandated by RFC2822
comments spelling
Derp. Fix build.
Merge pull request #7 from jeddenlea/master

Some more changes