UI updates for builder asset/datasets (#767).

- Add MutexGroupedInputForm subclass of Backbone.Form
- Models.Asset specifies mutexGroups
- fields in mutexGroups are marked as class "mutex-group"
- MutexGroupedInputForm.render re-jiggles DOM elements
- Add "action" template variable to builder asset create/edit view.
  Title for view is "Create [Asset Type]" or "Edit [Asset Type]".
- Simplify help labels for asset edit fields.
- Use fieldset tag to group tabbed options in MutexGroupedInputForm.
- Add a mutexGroupName option to MutexGroupedInputForm. This shows
  up as a legend labelling the tabbed fieldset.
- Use MutexGroupedInputForms for asset dataset creation.
- Update CSS so that tabbed groups are a little more distinguished.
- Allow for different help for asset views in different states.
- Add help items for image editing, creation, and display.
- Add help item for asset type selection.
- Change verb for creating a new asset: "Add", rather than "Create".
- Make asset creation form validation error list styled with sitewide
  error list styling.
- Don't ignore Backbone.Forms built-in validator errors.
- Add client-side validation string for case of zero values
  provided (assets only).
- Add punctuation (colon, period) to multiple-value validation error
  string.
- Add FontAwesome warning icon to error messages.
- Provide error coloring for GroupedMutex option nav.
- Don't use the "required" input attribute.
  Browser support and UI for in-browser validation is inconsistent.
  For now, we'll just roll our own.
- Render file input thumbnails in builder.
  File inputs for datasets and images (of any sort) have thumbnails.
  Un-set inputs show a [?] icon, while inputs with a set file show
  either a "set" file icon or the image thumbnail itself.
More robust validation error wiring (#767).

- Handle validation errors from model more robustly.
- Use <strong> to emphasize filename in file input help messages.
Initialize form when setting model (#767).

Fixes issued described in comment at
https://github.com/PitonFoundation/atlas/issues/767#issuecomment-22114929
Tweak builder forms for 1280px screens (#767).

A couple of tweaks to make builder forms work better on small
displays.
Close '<a>' tag, fixing featured image pills

Close an unclosed '<a>' tag. Newer browsers seemed to automatically close
this, but IE8 choked on the broken HTML.

Closes #837
Support replacing dataset file with API

``DataSetResource`` didn't support the ``put_detail`` method,
causing the replacement of dataset files to fail.

This commit implements file uploads just like ``AssetResource``.
In fact, both ``Resource`` classes now inherit from a common
base class that makes ``post_detail`` emulate ``put_detail``
if a ``iframe`` query parameter is present. Otherwise, this the
method is disallowed.

In order to write unit tests for this new functionality, I had to
add some utility methods to ``DataSetResourceTest`` and make a new
``create_local_dataset`` function.

Closes #829
Merge branch '767-separate-builder-form-inputs' into develop

Conflicts:
	apps/storybase_story/templates/storybase_story/story_builder_handlebars.html
	static/js/builder/views.js
Update changelog for #767 changes
Clean up asset/dataset form error handling

The code reflected a misunderstanding of how form validation and model
validation work together because the
[documentation](https://github.com/powmedia/backbone-forms#model-validation)
is confusing.

Backbone.Form's validation will call the model's ``validate()`` method.
If the model validation returns an object, it tries to set errors on
the form fields matching the keys of the error object. If a key doesn't
match, it's added to the ``_others`` array of errors in the form's
error object. So, ``_others`` will never include errors for form fields
and they should always be added to the form errors displayed above the
form.

I cleaned up the code a bit by moving variable declarations to the
top of the function definition, though the need to do that is
[highly debatable](http://stackoverflow.com/a/3685090/386210).

I got rid of an anonymous function declaration used in a
call to ``_.each()`` because it seemed inefficient to redefine the
function inside a for loop.

Addresses #767
Update asset dataset integration tests

Fix a typo in one of the test as there is no file field when
updating a URL-based dataset.

Also add the test for omitting a title field that Jordan suggested
running.

Addresses #767