Add a form to filter and sort the list of lends

Form logic has not yet been implemented in views.py. The form itself may still
change, too. In particular, the categories for filtering which items should be
displayed needs work.

Add a tiny stylesheet to shrink down the size of the form.
Make template tag imports more explicit.

Do not load all template tags made available by a given module. For example, do
not write `{% load staticfiles %}`. Instead, explicitly list out all template
tags being loaded. For example, do write `{% load static from staticfiles %}`.

Also reformat a small amount of text in template lend-id.html.
Fix failing unit tests.

If an empty set of lends is passed to the `lend.html` template, do not attempt
to display a table of lends.
Use django-tables2 to render table of lends

The changes in this commit are the bare necessities for creating an HTML table
from a Django data set. Some of the changes are nice: defining how Django data
sets can be transformed into HTML tables with a file named "tables.py" is
familiar and seemingly elegant. Other changes are not so nice:
TEMPLATE_CONTEXT_PROCESSORS has been added to settings.py, the generated HTML is
kinda ugly, and this seems like a heavyweight solution to a seemingly simple
problem.
Pass request context to django-tables2 from view

The documentation for django-tables2 suggests that you "Add
'django.core.context_processors.request' to TEMPLATE_CONTEXT_PROCESSORS". This
is objectionable because TEMPLATE_CONTEXT_PROCESSORS automatically populates the
context (a dictionary-like object passed to every template) for *every*
template.

This commit avoids that undesireable situation by explicitly adding a context
variable "request" to the "lends.html" template. This procedure can be repeated
for those templates which use django-tables2 tables. Much more targeted and
obvious!
Decorate table column headers

Use CSS to insert a unicode arrow into whichever table column is currently being
used to sort the table itself.

Also clean up views.py by rearranging imports.
Move custom form into sub-template and use it

Move the custom form code for creating and updating a lend into a sub-template
and use it in lend-create-form.html and lend-id-update-form.html
Fix bug in form for creating/updating a lend

Change button's type from "reset" to "button" to prevent it from resetting the
entire form when pressed.
Display items and tags using django-tables2

Use django-tables2 to display information about items and tags. This was already
being done by hand, but django-tables allows the process to become more
automated. Less hand-written HTML, more auto-generated HTML.

There are now three datasets being rendered with django-tables2: items, tags,
and lends. All three datasets are lacking a column that provides links to view,
edit and delete the relevant object. It may prove useful to create synthetic
columns within the models themselves.
Make language more friendly.

Do not write "Edit or delete this item." Instead, write "You can edit or delete
this item." Make similar changes for lends and tags.
Add "actions" columns to item, tag and lend tables

The "actions" column is a synthetic column that does not correspond to anything
in the database. Instead, it contains hyperlinks to other pages for performing
actions such as viewing, editing or deleting an object.
Polish tables.py

Polish the table definitions in "tables.py". Expand docstrings and delegate the
task of populating the `actions` column to private helper functions. Write
doctests for three of the four helper functions. Call those unit tests from
"tests.py".
Update README

Instruct users to install django-tables2.