Remove Rc's borrow method to avoid conflicts with RefCell's borrow in Rc<RefCell<T>>.
Implement automatic overloaded dereference.
Closes #7141.
Introduce a common recursion limit for auto-dereference and monomorphization.
Apply @nikomatsakis' nits and comments patch.
Region + borrow checker support and tests for overloaded autoderef.
compile-fail: Beef up borrowck test to include some scenarios where we borrow mutably twice in a row
Tweak comments
auto merge of #12610 : eddyb/rust/deref-now-auto, r=nikomatsakis

Enables the dereference overloads introduced by #12491 to be applied wherever automatic dereferences would be used (field accesses, method calls and indexing).