workshops/templatetags/breadcrumbs.py: Wrap map in a list

In BreadcrumbNode.__init__, self.var was being setup with 'map(...)'.
In Python 3 that returns an iterable, and iterables don't support
indexing, so you'd get:

  Traceback:
  File "/.../django/core/handlers/base.py" in get_response
    137.                 response = response.render()
  File "/.../django/template/response.py" in render
    103.             self.content = self.rendered_content
  File "/.../django/template/response.py" in rendered_content
    80.         content = template.render(context)
  File "/.../django/template/base.py" in render
    148.             return self._render(context)
  File "/.../django/template/base.py" in _render
    142.         return self.nodelist.render(context)
  File "/.../django/template/base.py" in render
    844.                 bit = self.render_node(node, context)
  File "/.../django/template/debug.py" in render_node
    80.             return node.render(context)
  File "/.../django/template/loader_tags.py" in render
    126.         return compiled_parent._render(context)
  File "/.../django/template/base.py" in _render
    142.         return self.nodelist.render(context)
  File "/.../django/template/base.py" in render
    844.                 bit = self.render_node(node, context)
  File "/.../django/template/debug.py" in render_node
    80.             return node.render(context)
  File "/.../django/template/loader_tags.py" in render
    65.                 result = block.nodelist.render(context)
  File "/.../django/template/base.py" in render
    844.                 bit = self.render_node(node, context)
  File "/.../django/template/debug.py" in render_node
    80.             return node.render(context)
  File "/.../django/template/defaulttags.py" in render
    312.                 return nodelist.render(context)
  File "/.../django/template/base.py" in render
    844.                 bit = self.render_node(node, context)
  File "/.../django/template/debug.py" in render_node
    80.             return node.render(context)
  File "/.../amy/workshops/templatetags/breadcrumbs.py" in render
    77.         title = self.vars[0].var

  Exception Type: TypeError at /workshops/site/asu.edu/edit
  Exception Value: 'map' object is not subscriptable

This commit uses 'list(map(...))' to convert the iterable into an
indexable list.
Add persons/add/ and persons/{id}/edit

Following the pattern set by 0957f12d (Create and edit sites using
django generic views, 2014-12-09, [1]).

The pk_url_kwarg field [2] avoids:

  AttributeError at /workshops/person/7458/edit

  Generic detail view PersonUpdate must be called with either an
    object pk or a slug.

The '__all__' value for fields automatically uses all the forms
fields.  The Django docs point out that this could be a security
problem if you add a secret field to a model and forget that it will
be visible and editable by anyone with permissions for that form [3],
but I don't expect we'll be needing secret Person information and it's
good to stay DRY.

[1]: https://github.com/swcarpentry/amy/commit/0957f12dfb830013b190d7e3a1395fdfea6d1108
[2]: https://docs.djangoproject.com/en/1.7/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin.pk_url_kwarg
[3]: https://docs.djangoproject.com/en/1.7/topics/forms/modelforms/#selecting-the-fields-to-use
Merge pull request #94 from gvwilson/adding-logo

Adding logo
Merge pull request #90 from wking/breadcrumbs-map-iterable

workshops/templatetags/breadcrumbs.py: Wrap map in a list
Merge pull request #91 from wking/create-and-edit-people

Add persons/add/ and persons/{id}/edit