Eliminate all uses of IShopRoot interface

These changes remove the concept of a ShopRoot and all uses of the `IShopRoot` interface. Instead, where necessary `INavigationRoot` is used.

(The interface is deprecated but still left in place for now to avoid `OFS.Uninstalled` errors and the like).

This allows to better spread out shop content (categories and items) across a site (including subsites).