Sharing data

Main Feature:
* User and Wallet objects on the C# side now get automagically updated when the Obj C changes them.

Also:
* Needed to refactor basically all the wiring for wallets/users
  * Removed callbacks as static variables and put them as params into the C# side
  * Generalized most of said callbacks in the ArbiterBinding side... pretty much any call that doesn't immediately parse the response
* Generalized a lot of the objc-C# interop layers to remove a lot of boilerplate code
* Moved parsing logic into protocol classes instead of the Binding class
* Removed as much orphaned data on the C# side as I could

Known Issues:
* You can logout, but after that there are crashes when you try to play another game or something. I'm guessing this is new behavior, but not actually sure
  * Also, that probably shouldn't be a blocker for HH, so I'd like to get this into HH and then fix the logout issues separately
Should the user be set directly or should this line be:
```
[self setUser: .......]
```
?