Refactor views for share and embed popups

Refactor the views that generate content for the popups shown
when the user clicks the "Share" or "Embed" buttons on Story,
Project and Organization detail pages to limit repeated code
and disambiguate names.

Rename the views driving the share and embed button popups to avoid
ambiguity with the view that handles content for the widget used to
embed stories on other sites, ``StoryWidgetView``. For example:

StoryEmbedWidgetView -> StoryEmbedPopupView
StoryShareWidgetView -> StorySharePopupView

These are subclasses of the base views
``storybase.views.sharing.EmbedPopupView`` and
``storybase.views.sharing.SharePopupView`` that use the templates
``storybase/embed_popup.html`` and ``storybase/share_popup.html``.
These should be used as the base views for all embed and share
popups, and subclasses need only specify the ``queryset``
attribute.

Instead of having separate template tags for getting the embed
codes of items: ``story_embed``, ``organization_embed`` and
``project_embed``, there is an ``embed_code`` template tag.

Modify CSS class names so they use ``storybase-embed-button`` and
``storybase-share-button`` instead of ``storybase-*-widget``.
Use ``embed-popup`` and ``share-popup`` as the container classes
instead of ``share-widget``.

Addresses #824
Use protocol relative URL for AddThis script

Addresses #824
Avoid hard-coding popup view paths in URL

To make the template code as polymorphic as possible, implement
``get_embed_popup_url()`` and ``get_share_popup_url()`` methods on
the ``Story``, ``Project`` and ``Organization`` models and implement
the ``get_share_popup_url()`` on the ``UserProfile`` model.

These methods call through to ``reverse()`` to look up the correct
view for the popups.

Addresses #824
Use a protocol relative URL for the embed script

When showing users the embed code in the embed button popup,
show a protocol relative URL for the JavaScript snippet.

Addresses #824
Refactor embed/share button popup script

The purpose of these changes are to minimize hard-coding of
URL paths in JavaScript and to make button links point to a
fallback URL instead of "#".

The buttons for launching the embed or share popups used to have
an href attribute of "#".  Whenever possible, I think it's better
to have links that fall-back to somewhere.  So, I made
``EmbedView`` and ``ShareView`` that render the ``storybase/embed.html``
and ``storybase/share.html`` templates which simply wrap the
``storybase/embed_popup.html`` and ``storybase/share_popup.html``
templates in the ``base.html`` template.

Then, I changed the url paths for the embed and share popups from
``{{ OBJECT_DETAIL_URL }}/share-popup/`` to
``{{ OBJECT_DETAIL_URL }}/share/popup/``.  Note that
``{{ OBJECT_DETAIL }}/share/`` points to the standalone share page
view mentioned above.

This allows the ``jquery.storybaseshare`` plugin to default to
building the URL of popup content fetched asynchronously by just
appending 'popup/' to the ``href`` attribute of the link. This
value can still be overridden by specifying a ``popupUrl`` option
in the ``data-options`` attribute of the element.

This also eliminates the need for building the popup content URL
by replacing "id" in a template string. Instead of caching the
fetched popup content by slug/id, I use the URL as the key. Now,
the "data-story-id" option is no longer needed on the element
initialized by the plugin.

Add the ``jquery.storybaseshare`` script to the files handled by
``django-compressor`` to force users to download our updated
version of the script when we deploy.

Addresses #824
Merge pull request #25 from ghing/824-embed-button

Refactor of embed and share button code