Add support for new cover handling in Kobo Aura

The new Kobo Aura has firmware version 2.9.0. The main change needed for
the driver is that cover images are stored in a different place.

Version number is set to 2.9.1 to handle the later release for other
Kobo devices.
Speed up the qhash implementation
Fix switching to an empty virtual library not blanking the book details panel
...
Fix regression that broke html metadata

HTML Input: Fix a regression that broke processing of HTML files
that contain meta tags with dc: namespaced attribute values.
pep8
...
Fix formatter function "count" to return zero for an empty list
Make an uncomposed icon rule use all the icons from previous composed icon rules. Lets you express things like "compose icon a if XXX, compose icon b if YYY, icon c if ZZZ, icon d if WWW". This will result in categories icons a and b if their conditions match, then appended with one of: c if its condition matches, d if its condition matches, or nothing.
Fix cmap table generation not handling contiguous indices

Also fix tab indentation in code imported from fonttools.
pep8
Conversion: Fix font subsetting not working for CJK fonts
Merge pull request #89 from cbhaley/master

Two small changes ...
Calibre-side code for caching metadata, to avoid needing to resend it from the device on each connect. The CC side code will go into beta test next week.
Merge branch 'master' of https://github.com/cbhaley/calibre
Use the cache dir for device metadata cache
Add in the stuff to age the smart device book cache, to avoid requiring conversion later.
Merge pull request #91 from cbhaley/master

Add in the stuff to age the smart device book cache, to avoid requiring ...
version 1.4
When ejecting a device from the OS fails, do not think that the device
is still connected when performing various GUI actions, such as deleting
books.