47 Versioning support for articles

Trello: https://trello.com/c/fln1WdmE

---

Uses [PaperTrail][papertrail] to keep a record of all changes made to an article.

Articles can now be edited freely regardless of their status - whether they are published or not.  We only show the most recent published version of an article.

In the CMS, this means finding a way to indicate that an article is published and up to date, or published and pending updates.  

For writers: they need to be able to see which articles they:

1. are currently writing
2. have submitted for review

I think if an article's latest version is not the version we show on the site, then it can go in the 'currently writing' list but still indicate that it's published.  However, you can now preview it too.. but it doesn't make sense to preview an article which has no changes since it was published.

For editors, they need to be able to see:

1. articles pending review and unpublished
2. articles pending review and published



[papertrail]: https://github.com/airblade/paper_trail