jmoiron plays the blues

a675f529 to iris add some tests for failing where clauses; only statements left to test
cd0bf9ed to iris simplify the separators with a new Separator composed type, add comma literal, make empty lists illegal
0c18c796 to iris update setup.py to have pymongo and lepl as dependencies
fcdf4024 to iris adding a query parser and shell interpreter to do queries against iris' collection
8f281a16 to iris add auto-version-numbering to iris/__init__ and setup.py
#18 to argot version 0.6, change url to bitbucket, add extras to `argot` script including auto-pygments styling to generated document
ce6e75f6 to iris change '--force' to '--yes' for flush (so iris flush -y now to flush), add '-c' to list to get a quick count of how many photos are in iris' db, implenet iris add -r (recursive), catch a bug in the exif parser for .THM files
dd895da8 to iris reorganize utils.py, add 'recursive_walk' function which presents us with a list of full paths given a list of paths that are to be recursively walked (perhaps a list of directories, or directories & files mixed)
94b06d84 to iris added --profiler and --timer to the generic options (mostly for development), but also added a --parallelize switch (which I might make default in the future) which seems to really improve performance: http://jmoiron.net/~jmoiron/multiproc.png
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