Detect logged-in user correctly

self.request.user will always evaluate to True.  To check if a user is
authenticated, I need to use self.request.user.is_authenticated().

Closes #690
Merge branch 'hotfix-690-request_user_evaluation' into develop

Conflicts:
	README.rst
Pass JavaScript error details using extra

Instead of serializing the additional JavaScript error data into the error
message, pass it to the logger using the ``extra`` keyword argument.  This
makes the error message clearer but still allows the additional information
(URL of script or view where error occured, line number in script or page,
username, browser location where script that triggered error is included)
to be visible to certain handlers.  In particular, the Sentry handler
displays the extra parameters (and other info) quite nicely in the
Sentry panel.
Return new cache value

In ``Story.get_related_list`` return the new value after setting it in the
cache.  Before, there was a bug where it would only return a value if it
was found in the cache, but not if it had to first set the value in the
cache.

Addresses #566
Merge branch 'hotfix-566-lost_metadata' into develop

Conflicts:
	README.rst
	apps/storybase_story/tests.py
Refactor story creation steps

Create a common function that gets or creates a story with variable extra
keyword parameters.  Then call this from the various step functions. This
eliminates some repeated code.
Add spec for #625

Add a lettuce feature specification testing the functionality for #625.
I didn't actually implement the steps for the feature/scenario, but this is
still a good way to plan and document my manual testing.
Use ugettext instead of ugettext lazy

Inside ``storybase.utils.get_language_name`` use ugettext instead of
ugettext lazy since, in this context, we want to translate when the function
is called instead of when the string is evaluated.

Also add a unit test for get_language_name
s/block-inline/inline-block/

The position of the workflow step tabs in the builder was off for the
connected builder because the position of one of the elements was
incorrectly specified as "block-inline" instead of "inline-block".

I also adjusted the positioning of the tabs so that the line separating the
items (created using a border property) was not at the very top of the
black bar.  I achieved this by using a margin-top property on each li
element instead of padding-top.

Closes #695
Merge branch 'hotfix-695-connected_workflow_buttons' into develop

Conflicts:
	README.rst
Add spec for #610

Add lettuce feature for feature image thumbnails in the viewer.

The steps for this feature are not implemented, but this is a good way to
document the functionality and guide manual testing.
Write features and scenarios for #595 and #606

Write Lettuce features and scenarios for testing #595 and #606.  I didn't
implement the steps for these scenarios, but thought that writing the
scenario out was a good way to document my manual testing process.
Update changelog

Update changelog to reflect final Iteration 12 changes