Fix preview of connected stories.

The "Preview" link in the story builder was linking to the normal story
viewer for connected stories.  This is problematic first because the
section titles aren't hidden and second because users will never view
a connected story in the story viewer.  Instead, they show up in the viewer
of the seed story.

To fix this, I had to change a few things on the back end.  I needed to
include draft connected stories in the template context for story viewer.
I did this by overriding the ``get_context_data`` method of
``StoryViewerView`` and passing a ``connected_stories`` context variable
that contains the filtered connected stories list instead of calling the
story instances ``connected_stories`` method from the template.

I updated ``Story.connected_stories`` to take arguments that would cause
it to return either only published connected stories or published connected
stories and drafts for the logged-in user.

To activate the different connected stories behavior, I added a
``preview`` url route that passes a ``preview`` keyword argument to
``StoryBuilderView``.

The preview URL is then passed to the Backbone views by ``StoryBuilderView``
as a template string (so the builder can parameterize it with the story
ID to handle the case when a new story is initally saved).

Finally, I updated the story viewer Backbone views to properly display a
connected story when accessed directly by it's hash-based URL in the
browser's location bar (rather than being accesed through clicking links
in the view).

Addresses #601.
Merge branch 'hotfix-601-connected_story_section_titles' into develop
Use jQuery to detect element width

In ``ViewerApp.sizeFigCaption``, ``this.width`` was being used to detect
if the element had a width.  This was causing the caption and the bounding
element to be incorrectly sized (or even have the size set to 0) in
``ViewerApp.sizeFigCaptions``.  Checking the width with jQuery's ``width``
method seems to make things work correctly.  The ``width`` method returns
the current computed width of the element, which is what we want rather
than the element's raw width value.

Addresses #601
Merge branch 'hotfix-601-connected_story_section_titles' into develop
Remove ununsed template tag

I think this was an artifact of the old AddThis sharing markup.
Merge branch 'hotfix-601-connected_story_section_titles' into develop
Properly populate preview bootstrap section list

When there were no published connected stories, the sections Backbone
collection wasn't getting bootstrapped with the draft connected stories
when in preview mode.  By passing an optional iterable of connected stories
to the ``BaseStructure.stories_json`` method, the draft connected stories
can trigger the inclusion of the connected stories list in the viewer
navigation when previewing a story. The logic for the getting the correct
connected stories iterable is done in ``StoryViewerView.get_context_data``.

Addresses #601
Merge branch 'hotfix-601-connected_story_section_titles' into develop
Merge branch 'develop' into 515-publish_cleanup
Trigger a 'set:featuredasset' signal

I want to move away from relying on the event bus (this.dispatcher in most
views) and try to trigger/listen-to events on the models and collections
themselves when that's appropriate.

To this end, the Story.setFeaturedAsset method now triggers a
'set:featuredasset' signal when the featured asset is set.
Implement switching between featured asset views.

Implement the views and logic that display the correct view depending on
whether the user is viewing, selecting or adding the featured image.

Also in this commit, I fixed a bug that I think is related to the
Backbone upgrade.  SectionEditView now only renders its subviews on a
"sync" signal, not on both "sync" and "reset".  I believe that in the
new Backbone versions, both events are triggered when a collection is
updated from the server, causing extra copies of the SectionAssetEdit
subviews to be created.