Make DeveloperSettings a singleton, and other improvements.

By making it a singleton, we do need an explicit Setup operation. However, it means that we can refer to the settings in client code that doesn’t have access to a request or to the ServletContext.

Other refactorings to simplify the logic or make it more scalable.