When calling coverUrl on a book that has no cover a error is thrown
> TypeError: Cannot read property 'substr' of undefined
This is because Archive.getBlob is called with this.cover which is
undefined.
When calling coverUrl for an archived epub the resolved promise contains
undefined and not a string.
Also the documentation everywhere is lying about coverUrl() returning a
string whereas it actually returns a Promise that resolves to a string.