renamed BlockAllocated2 to ManuallyBlockAllocated<> and fixed one use in SharedPtr<> for passed in null pointer (but not by type)