Added a resource/download API endpoint.  Hooked up the download checked items action on the web server.  Refactored how downloads are performed to reduce the code duplication and to move some of the work into the models rather than the API.  Added the ability to list files (necessary for downloading) to users and collections.  Fixed a potential timeout issue in the download by setting pymongo timeouts to false where appropriate.  Added text search support to the user GET endpoint.
Added a resource DELETE endpoint.  Added deleting checked items via the web client.
Added resource testing (incomplete).  Fixed some documentation and style.
Finished adding some tests for the new resource endpoints for download and delete.
Increased the test coverage of the new resource endpoints.
Added some unittests for the hierarchy download and delete checkbox actions.
Changed the metadata json files in the download to have more specific names and not to adjust if a file exists with that name.  Removed explicit sorting in zip file creation and adjusted the testsing to permit this.
I refactored how deleting resources was done to avoid the double loop through the models and individual ids.  It was deemed better to have a partial deletion than the inefficiency.  Also, I extended all of the models so that the remove method can get passed a progress context and so that the subtreeCount returns something for that model.  This allows better progress of resource deletion.
Changed the model.remove method to use kwargs rather than explicitly specify progress as a parameter.  Also, changed encodeURIComponent to window.encodeURIComponent per request, and stopped using escapeHtml where it was not necessary.
Merge pull request #398 from girder/checked-items

Checked items now work