Set flag for already fetched datasets

Set the ``_collectionFetched`` flag to ``true`` for datasets that have
already had their ``datasets`` property initialized. This is most often
the case when an asset has been removed from a section container and
then re-added by dragging it from the asset drawer.

This change fixes a bug where the data set list was not being rendered
after an asset with datasets was dragged from the asset drawer after it
had been removed by changing the section layout.

Addresses #583
Add "save and add another" button to data set form

Add a separate "Save and add another" button to the form for adding
datasets.  Clicking the "Save and add another" button resets the
form, but keeps it visible. Clicking "Save" hides the form.

In order to implement this, I had to break rendering of the data set
list into a separate method.

I also had to add logic to reset the add data set form. It seemed like
the cleanest way to do this was to destroy the old form view and create
a new one and re-render. It would be nice of ``Backbone.Form`` instances
had a reset method.

Addresses #583
Switch to asset display state after adding data set

Switch back to the display state after a new data set is added
instead of returning to the data set list view.  This is achieved
by proxying the ``create:dataset`` event along with its
``postSaveAction`` from ``AssetDataSetAddView`` through
``AssetDataSetListView`` and on to ``SectionAssetEditView``, which
will switch to the ``display`` state if ``postSaveAction`` is
``close``.

Before switching to the display state, refresh the asset model from
the server in order to display the most recent version of the
rendered data set list (in the asset model's ``content`` attribute).

Addresses #583
Evaluate lazy translations in data set list

Use unicode strings when building the data set list in ``dataset_html``
so that the lazy translation objects will be evaluated.

We have to use lazy translations because a default argument of the
method is a translated string.

Addresses #583
Style asset data set lists

Add icons before the list items that indicate whether the data set
link goes to a downloadable file or an external link. Also indicate
this using a tooltip message. Set the width of the list items to
nicely wrap and display long titles.

Addresses #583
Mitigate flash of content after adding data set

A flash of content occured because ``AssetDataSetListView`` toggled
the display of the data set list and the add data set form before the
state of ``SectionAssetEditView`` was updated and the view re-rendered
while waiting for the asset model to sync with the server. This is
creating a ``sync`` state of ``AssetDataSetListView`` and setting this
state before calling ``fetch`` on the asset model.

Addresses #583