Move the SMTP protocol reader into Smtp_core.

Currently the body is being handled via a callback taking a pipe. Instead
a pipe of pipes would probably be better.