widen thrown exceptions in the API

I made the exceptions thrown by the API use the root GlobalRegistryException so that we could support finer-grained exceptions within the library without need for future API changes.