Adjust where space is applied in builder toolbar list items. Seems to fix anomalous issue in Chrome without affecting other rendering. (#649)
Some additional padding at bottom of viewer body so it clears the fixed-height footer. Also increase line-height in viewer title and add a little padding to body top. (#627)
Update styling for blockquote tags in viewer (aka, quote assets). (#565)
Prevent duplicate asset assignments

Prevent multiple assets from being assigned to the same section and
container.  The likely scenario that causes this is a user opening the
same section in multiple browser windows or tabs.

This fix does a few things:

* Adds a ``unique_together`` constraint on the ``SectionAsset`` model
  using the ``section``, ``container`` and ``weight`` fields.  The
  ``weight`` field is included because some stories created in the Django
  admin don't have a container selected, so we differentiate between them
  by the weight field.
* Adds a data migration to fix existing ``SectionAsset`` instances that
  violate this constraint.  The data needs to be clean before adding the
  the ``unique_together`` constraint.
* Updates ``SectionAssetResource.obj_create`` to catch the
  ``IntegrityError`` raised when the the ``unique_together`` constraint is
  violated and returns a 400 error to the client.
* Updates the ``SectionAssetEditView`` Backbone view to handle the error
  returned by the API endpoint, show the user an error message, and refresh
  the UI to show the previously added asset.

Addresses #535
Tweak microcopy for error message

Slight update to copy based on suggestions by @jwirfs-brock.

Addresses #535
Clean up SectionAssetEditViews

``SectionAssetView.renderAssetViews`` created new SectionAssetEditView
instances each time it was called.  That seemed not only wasteful, but also
left ghost views that still responded to events.  This commit keeps track
of the child views and only creates new views when needed. It also calls
the ``close`` method on the sub-views to clean up their event bindings.

The sub-views for asset editing are tracked through a ``_assetEditViews``
object, with container names for keys.  The creation of
``SectionAssetEditView`` instances was also factored out of
``SectionAssetView.renderAssetViews``

Updated ``SectionEditView.removeAsset`` to remove the
``SectionAssetEditView`` when an asset is removed from the section.
``removeAsset`` gets called by ``changeLayout``, so the view is cleaned up
when the layout is changed as well.

I also had to update ``changeLayout`` to handle the case where there are no
asset models bound to the ``SectionAssetEditView`` instances to just remove
all the sub-views.

Finally, I renamed ``SectionAssetEditView.remove`` to
``handleRemove`` because it was clobering Backbone's ``View.remove``.

Addresses #671
Add a "quotation" class to story quote assets. Make the pull-quote style a mixin and apply to quotation assets. Other blockquotes in stories get a bordered-box treatment. (#565)
Use django-compressor to compress and version

Use the Django Compressor app to compress and version JavaScript and CSS
assets.

For now, we're just compressing and versioning style.css and our custom
Backbone apps.

Ultimately, I'd like to move to using RequireJS for our Backbone apps.

Addresses #624
so i'm having some trouble getting this to do quite the right thing, even in the scenario wherein we don't try to recover  the story template's placeholder title/suggested title on load. summary of behavior:

- when creating a new story from a template, the first section title gets its template-defined placeholder
- when creating a new section, that section gets a generic 'Section Title' placeholder
- when loading a saved story in which a section lacks a title, that section isn't getting *any* placeholder at the moment.

that last could be handled by the handlebars template, but perhaps we'd prefer it to live in the view?

also i updated the section list view: when a section has no title it displays 'Untitled Section' rather than 'New Section' ... seemed a little more appropriate. however, this is also handled in the handlebars template rather than in the view code.
In story viewer, loading a section updates Backbone's router location without creating a new entry in the browser's history. Addresses #487.
Add required settings and dependencies

Django Compressor requires 'compressor.finders.CompressorFinder' to be
added to the ``STATICFILES_FINDERS`` setting.  It also requires
BeautifulSoup as a dependency.

Addresses #624
Merge branch 'hotfix-671-two_posts_text_asset' into develop
Merge branch '535-avoid_duplicate_sectionasset' into develop

Conflicts:
	README.rst
Match Django and django-reversion versions

django-reversion versions are tied to specific Django versions.  See
https://github.com/etianen/django-reversion/wiki/Compatible-Django-Versions
for details. If you don't have a matching version, you get an annoying
error message (and probably other problems, though I never encountered any).
Deal with transaction issues in tests

Since we catch the ``IntegrityError`` that occurs when we violate the
``unique_together`` constraint (see #535) both in ``SectionAssetResource``
and in some of the tests, this causes problems with further database calls
because of how ``TestCase`` handles transactions.  In one case, we can
use ``TransactionTestCase``, but in other cases, we have to not do the
additional database calls because Tastypie's ``ResourceTestsCase`` inherits
from ``TestCase`` so we can't get the ``TransactionTestCase`` functionality.
Luckily, this didn't really affect the value of the test.

Addresses #535
Fixed check in migration

Fixed typo in test for bug-based conflicting SectionAsset instances and
ones that were from legacy stories created pre-builder.

Addresses #535
Create "default" handlebars helper. Move logic for providing generic section title placeholder attribute in builder to handlebars template. (#616)
Integrate localization gettext into "default" handlebars helper. (#616)
Merge branch '649-builder-toolbar-icons-misaligned-in-chrome' of https://github.com/patternleaf/atlas into patternleaf-649-builder-toolbar-icons-misaligned-in-chrome
Merge branch '627-viewer-cutoff-by-footer' of https://github.com/patternleaf/atlas into patternleaf-627-viewer-cutoff-by-footer