Some general tweaks mainly in lei package
Shelves can now be added, Bookshelf delegate update method done with
some recheck needed, Shelves.addNormalShelf() now correctly notifies
observers