Make SMTP system much more flexible

This includes the addition of an Email type, which simplifies the
process of sending templated emails. This will be used in the future for
the message system.

Ref #89
Fix some accidental database problems

These were pointer related problems in DB.GetNode() and
DB.DumpChanges().
Add API messaging endpoint

This will allow users who successfully complete a CAPTCHA to send an
email (using NodeAtlas's SMTP server) to the email address owned by a
local node. The email address is never exposed.

The front end for it is not yet implemented at all.

Ref #89