Unproxy

this removes redundant `.proxy()` calls, and in some cases it adds fixes, for example some integrations did `.proxy('traits.city')` but what if `city` was in `traits.address` so `msg.city()` etc.. fixes this.

Here's what i did:

  - for each integration check if we use `.proxy()`
  - if we do and it makes sense to use / add a method, then i added fixtures to make sure nothing breaks
  - then i add the methods to facade if they are spec'ed and use them
 
i did found some odd cases where i couldn't add methods, but i'll open another issue for those.

cc @calvinfo @gjohnson