CXX-303 clarify initialize() behavior

-Implementation was changed to only allow initialize() to be called once, and to allow shutdown() to only be called once after a call to initialize().