Pointer slot update

This breaks the implicit conversion back and forth between std::shared_ptr<T> and Autowired<T>.  This is necessary because it's possible to perform adjustments to the contents of an Autowired<T> which may not be thread safe.

- [x] Update AnySharedPointer with new overrides as needed
- [ ] Upgrade AnySharedPointer and AutowirableSlot to use the new 
- [ ] CoreContext needs to be aware of and make use of the new features in AutowirableSlot