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.

I will add cache cleaning code sometime later after both sides are working properly.