factor out article scraping

(Well, as much as we can given the structural restrictions of tornado...)
add api to get details on all the available labels
added a path to assign labels via article url (rather than article id)
add api to test logged-in status
handle display of articles with no headline
allow url-only articles to be added

If user is adding an article via url, we'll try and scrape the
details, but if that doesn't work, we'll just add it to the database
anyway, with a blank title and fudged pubdate.
add api call for adding labels