Modify outer semantics to search all of scope

The outer semantics have been changed to work like super, where outer
may only appear as the receiver of another request. Outers can no longer
be chained, and ambiguities must be resolved by naming outer objects.