Add basic CM transaction scraper

This scrapes completed transactions off the CM site and stores them in our
database, as well as fire off an email to the appropriate people when it
happens. Should make the "keep things up to date" work easier.

Right now there is zero integration with other parts of the system, just keeping
track and notification. We may want to reconsider that in the future of course.
Ensure URL is a string and not unicode

Different versions of HTMLParser apparently returns different string
types for this, so make sure we don't pass invalid data to pycurl.