jmoiron plays the blues

ed30b105 to iris fix list to use the a paged auto-classing query
3803279c to iris added flush command, moved OpenStruct back to inheriting from object to avoid pymongo bug, fix add command
81d957df to iris fix paging cursor to allow limits, sorts, skips of their own, independent of the internally managed values used for paging
676e9b35 to iris get a working paging cursor, mostly useful to keep 'sync' operations in a "constant" bound memory space despite the size of the image collection
f7272e94 to iris rename BulkUpdater -> BulkInsterter, as collection.update has some other connotations I don't want to overload
15b4dc63 to iris add new BulkUpdater backend class, which creates an updater that will intelligently mass-insert, to a threshold of 100 documents. even if they are all truly updates, it still saves N reads (N=threshold) per flush as normally these documents would have to be checked for existence in the collection manually by their unique value, but here it's done in one query
73ff7c6f to iris wip for new backend work with thread-safe batching of mongo queries for doing large imports in a fixed(ish) amt of memory maintaining speed
1b329df1 to iris fix the file loader not getting the exif keys quite right for filtering
4735e67c to iris have sync & list react to files that have been deleted (or return)
94136a0e to iris add a sync command that resyncs everything in the database and marks as 'gone' if they have been moved or deleted
e9e75316 to iris get add & list commands working for simple images
260774ce to iris start feeling around a bit more on how to add data to the database