Adding pagination to persons display
Using new utility function for pagination
Refactoring to combine two utility functions
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
workshops/migrations/0026_auto_20141210_1537.py: Add event.notes and site.notes

This should have happened before the notes content was merged in
3861aeed (Merge pull request #60 from pbanaszkiewicz/notes,
2014-12-15).

This is the template created with:

  $ python3.4 ./manage.py makemigrations
db.sql: Migrate to event.notes and site.notes

With:

  $ make database
  $ python3.4 ./manage.py migrate
  $ sqlite3 db.sqlite3 .dump > db.sql

This should have happened before the notes content was merged in
3861aeed (Merge pull request #60 from pbanaszkiewicz/notes,
2014-12-15).
1. Moving logo images to `static` directory.
2. Modified breadcrumbs to call home page 'Amy'.
3. Modified `index.html` to display logo.
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
Merge branch 'master' into paginate-events
Merge pull request #95 from gvwilson/paginate-events

Paginate events
Tidying up soe layout
Merge pull request #96 from gvwilson/adding-logo

Tidying up some layout
Adding pagination to task view
Merge pull request #97 from gvwilson/paginate-tasks

Adding pagination to task view
Merge pull request #92 from wking/notes-migrations

Add a migration for event.notes and site.notes
bringing database dump up to date