Thread safe Singleton with double checked locking.