Allow passing self as an argument to methods

Part of UFCS (#16293)
tests
Allow self as an arg in extension methods
Tests
auto merge of #18053 : nick29581/rust/ufcs1, r=pcwalton

With the 'receiver' as an argument and static dispatch. Part of UFCS implementation (#16293).

r?