RSS feed for stories

Add a new ``django.contrib.syndication.views.Feed`` subclass and
URL configuration for an RSS feed of recent stories and one for
recent stories filtered by Topic.

To try to correctly get the ``length`` attribute of the RSS item
enclosure, in our case the featured image file, expose the
featured asset's ``Thumbnail`` object (which, like all
Django file-like objects has a ``size`` attribute) via a new
method called ``LocalImageAsset.get_thumbnail``. Refactor
``LocalImageAsset.get_thumbnail_url`` to call this method.

Addresses #816
Use topic-exclude instead of topic-ne

Use ``topic-exclude`` as the querystring parameter for excluding
a topic from the story feed instead of ``topic-ne`` as it seems much
more human-readable and easy to remember.

Addresses #816
Correctly set the MIME type for story feed

``guess_type()`` returns a tuple.  Only return the first item
(the type).  Returning the tuple was causing the type to be shown
as "('image/jpeg', None)" in the feed and was causing validation
errors.

Addresses #816
Exclude connected stories from feed

Addresses #816
Truncate story summaries in feed

Truncate story summary to 75 words, which is the same length as the
featured items on the homepage, in feeds.  This was needed because
long summaries didn't work well when pulling the feed in for
MailChimp integration.

Addresses #816
Merge branch '816-story_feed' into develop
Update changelog for #816
Fix "View Story" button URL for connected stories

Properly set the URL for connected stories for the "View Story" button
in the "Publish/Share" step of the builder.

To implement this, add a ``viewer_url`` method to the ``Story``
model, and a corresponding attribute to the response data of
``StoryResource``.

Also, refactor ``PublishedButtonsView`` to separate out the element
showing/hiding and rendering.  Also, re-render when the story's
``viewer_url`` attribute is changed.

Addresses #856
Handle connected story URLs in notification emails

Set the ``detail_url`` context variable to an empty string in the
case of a connected story and use the value of this variable
to hide certain content in the template that's related to a
story's detail page, which doesn't exist in the case of a
connected story.

Clean up indentation and simplify template markup in the
notification templates.

Fix whitespace in templates, especially the text templates.

Replace unicode apostrophe characters with ascii ones.

Default the greeting to say "Floodlight User" if an author's
first name hasn't been specified in their profile.

Add a ``builder_url`` variable to the template context

Addresses #856
Merge branch 'hotfix-856-connected_story_links' into develop

Fix for #856
Add help slugs to header HTML

Add help item slugs as the ID attribute to HTML headers in the
``HelpPlugin`` template.  This allows linking to help items
from other help items when they're aggregated on the help
CMS page.

Closes #861
Update Solr install fabric tasks

Update the fabric tasks that install Solr/Jetty to use the Solr
example.

Install the Solr-2155 plugin to the core's lib directory instead
of globally.

Update the Travis build configuration to use this Solr install.
Make package installation tasks able to be run locally
Properly pass the run_local parameter

Pass it as a keyword argument rather than a conditional one
Make Solr core directories as part of Travis install
Pass instance environment variable to Fabric tasks

Pass ``instance`` environment variable to Fabric tasks in the Travis
CI build so the Solr core directories get created correctly.
Reenable Solr Haystack backend

The Haystack backend had been disabled because the Solr install
was broken on Travis.  Now that the Solr install is fixed, try
re-enabling the "real" backend (and running the Solr-specific
tests)
Update to local/remote command execution logic

Factor the logic that selects the local or remote version of functions
like ``sudo()`` and ``run()`` into functions.

Support local execution in the following tasks:

* createdb
* createuser
* install_config
Update requirements file

Update the requirements file for pip

distribute should no longer be required because the virtualenv
should be created with "virtualenv --distribute"

pytz has unconventional versions which causes propblems for pip.
The workaround is to explicitly specify a minimum version.
Debug Solr issues in Travis build

Output the Solr logs if the script fails