Annotating instructor search results with count of times taught.

1.  Add column to template.

2.  Add field to form asking how many results to display.

3.  Add annotation to person objects in view.

FIXME: there's a bug in here somewhere.

1.  Search for 50 instructors at latitude 43 and longitude -79 (i.e., Toronto, which has airport_id 108).

2.  Person 7069 shows up as having taught 3 times.

3.  But a raw query on the database:

    ~~~
    select count(*) from workshops_task where person_id=7069;
    ~~~

    shows 46 hits.

FIXME: should use aggregation with `Count` to count number of times people have taught.
Annotating instructors with number of times taught (and improving display).

1.  Using a solution by @wking to annotate person list with number of times taught.
2.  Wrapping the display of search results with `<table>` correctly.
3.  Changing lat/long selection fields to real instead of character.
workshops/views.py: Add person.num_taught per person

My previous Count() suggestion implemented in 03ecafeb (Annotating
instructors with number of times taught, 2014-12-18) was removing
folks who had never taught.  This commit replaces that approach with
separate database calls for each person, which is less efficient but
works for folks who have never taught.  An alternative approach would
be to use a custom filter [1] to add this information at the UI level.
For an implementation of that approach see [2].  We've gone with the
in-view calculation here because Greg expects we'll be filtering by
this attribute in the future [3].

[1]: https://docs.djangoproject.com/en/1.7/howto/custom-template-tags/#writing-custom-template-filters
[2]: https://github.com/gvwilson/amy/pull/7
[3]: https://github.com/gvwilson/amy/pull/7#issuecomment-67651211
Annotating with instructor count properly
Merging instructor count changes
Merge pull request #86 from gvwilson/adding-instructor-count

Annotating instructor search results with count of times taught.