Refactor the scraping into Post.new_from_url(url)

Because we had copy-pasted the Pismo scraping code a number of times,
this consolidates it all in Post.new_from_url(url) which will do the
scraping. It can raise an exception, so you'll still have to catch that
when you use it.

Also, the returned Post will be like a normal post except it will have
two additional fields: "images" and "keywords" which are a list of image
URLs and Backend::Token keywords returned by Pismo. Posts loaded from
the database will not have these fields defined.
Basic user page
Merge branch 'development' of github.com:ted27/project-october into development

* 'development' of github.com:ted27/project-october:
  Add deployment script
  Nevermind, now add postgres
  Add pg activerecord plugin
  Add postgres