Implement extensive item checkout API.

Include functions for:
checking the number of items a user has checked out
listing most recently added items
searching by item
listing all overdue items

Of course, none of these have been integrated with the view.
Cleaning commit #1

Finally mustered the energy to get rid of all the if !req.user
then redirect('login')s, and moved them to a single router.