Refine taxonomy terms in footer

Rename the context variable from ``related_objects`` to
``taxonomy_terms`` to better reflect the content in the list.

Update ``StoryWidgetView.get_context_data()`` to use the taxonomy
term model for the ``taxonomy_terms`` context variable in the
list widget.

Rename ``StoryWidgetView.get_related_objects()`` to
``StoryWidgetView.get_story_taxonomy_terms()``.

Update the implementation of this method to use an
itertools-based approach that's more reusable and more readable.

Make ``n_items`` a keyword argument instead of a local variable.

Add unit tests for ``StoryWidgetView.get_story_taxonomy_terms()``.

Addresses #741