Bug Description

If the Kobo driver is not configured to maintain shelves on the Kobo device, the collection column for books that are on the device and in the library is empty. It should show the reading states and any shelves created on the device.

The issue was that the device_collection was being emptied and built even when there was no shelf column specified. Will now skip this step if there are no shelf columns.

Also moved a database commit. There was a circumstance where this would not happen.