client: refactored metadata/md5 code into new EbookObject
client: more prereqs only needed for sync command..
client: better reporting on duplicates
tests: updated prereqs tests refs df3c25ae
tests: updated client tests to use EbookObject and helper
client: minor refactor to setup_auth_user in prereqs
client: improve calibre ebook-meta prereqs for v2 release
tests: updated tests after ebook_obj refactor
client: identifier metadata extract bug fix and test
client: don't calculate MD5 twice..
client: filename is not needed as part of EbookObject
client: smarter serialisation of EbookObjects from/to the cache
client: store EbookObjects during scan and serialize just before sending to ogreserver
client: check for duplicate filehashes during search
client: don't report errors when only warnings occur
tests: prevent subprocess being mocked before calibre_ebook_meta_bin fixture
client: no need to pass owner field to ogreserver
client: even cache duplicates!
client: separate exception types for dupes
client: more detailed definitions for formats, is_valid and is_amazon