Removed stale home page listing code.

I removed the Django CMS plugin code because they're no longer used and I
think that the template tag approach that we've taken lately is nice
because it's more CMS agnostic.

I removed some of the helper functions for rendering the plugin output since
they're also no longer used and that logic seems better encapsulated in
template tags.

Addresses #198
First pass at homepage banner

This is a first pass at the homepage banner implementation.  It doesn't
implement any kind of background generation or caching and currently only
selects stories randomly.

Still to do:

* Background rendering and caching
* Other strategies for selecting stories
* Registration pattern for different story selection strategies and method
  on the registry for selecting the different strategies or a random
  strategy.

Addresses #198
Wire in story links.

Forgot to replace the dummy links when I did my first pass of the
homepage banner feature in eb3719e02a4e90fe804df96633f289e0dc17c86c

Addresses #198
Merge branch 'develop' into 198-homepage_banner
Registration pattern for banner implementations

Provide a registration pattern for different banner implementations.

The ``banner`` template tag now takes ``banner_id`` as an argument to
select a particular banner implementation and keyword arguments that
are passed to the individual implementations.

If ``banner_id`` isn't specified, a random banner is selected.

Addresses #198
Banner implementation selecting stories by topic

Addresses #198
Merge branch 'develop' into 198-homepage_banner
Added a ga_campaign_params template tag

Added a template tag for generating the query parameters for a Google
Analytics Custom campaign.

I'll need this to support analytics and A/B testing with the banner.

In order to test this, I refined the SettingsChangingTestCase.
Clean up use of SettingsChangingTestCase

Use the set_setting method instead of this sloppy setting changing
set up.

Also, the inheritance order was whack, even though it didn't really matter
in this case.
Add Google Analytics campaign parameters

Add Google Analytics campaign parameters to banner links.

Addresses #198.
Merge remote-tracking branch 'origin/develop' into 198-homepage_banner
High-level query API for connected stories

There were a lot of complicated, difficult to understand ORM queries to
select or exclude featured stories.  After reading
[Building a higher-level query API: the right way to use Django's ORM](http://dabapps.com/blog/higher-level-query-api-django-orm/),
it seemed like using custom QuerySet and Manager implementations was a good
way to make view code more independent from the ORM, to make queries
more readable, and to make queries more DRY.

I added a custom QuerySet class, StoryQuerySet, for Story models that has
methods that let you find connected, normal and seed stories. I also
implemented mixin classes in the storybase.managers module that are mixed
in to StoryQuerySet to select stories that are flagged to be on the homepage
and stories that are published.

The methods of StoryQuerySet are proxied to StoryManager.  Also,
StoryManager returns a StoryQuerySet, which means that Story.objects.all()
will be a StoryQuerySet.  The use_for_related_fields flag is set for
StoryManager, so the custom query set methods should be available across
relations as well.

There are a number of places in the code where the custom query set methods
can be used to clean up the code and this should be done in future commits.
Merge branch '198-homepage_banner' of github.com:ghing/atlas into 198-homepage_banner
Make the "random" banner strategy the default
Filter unwanted stories from banner

Use the recently created custom methods on ``StoryQuerySet`` and
``StoryManager`` to eliminate connected stories, template stories and
unpublished stories.

Since this filtering is pretty common, I added a ``public`` method to
``StoryQuerySet``/``StoryManager`` that performs this filtering and it's
this ``public`` method that I use in the various ``get_objects``
implementations.

Addresses #198
Use StoryQuerySet methods

When possible, use custom methods on StoryQuerySet to deal with
connected stories.

In the future, it might be possible to get rid of some of the methods
I put on story instances for dealing with featured stories now that the
query API is cleaner, but leave it in place for now.
Make FeaturedManager return a FeaturedQuerySet

Refactored FeaturedManager so it returns a customized queryset and uses
the query sets custom methods to do the filtering. Eat your own dog food.
Remove unused import
Add not_published method

Add a ``not_published`` method to ``FeaturedQuerySet`` and
``FeaturedManager`` and use it in ``storybase.utils.local_context``
Remove unused imports