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().
K, I think I've addressed your other comments, Andrew, does the logic around isInitialized look better?