Invokable with enclosing

copied in and changed classes in Invokable from guava so that I can use enclosingType.  Hopefully, this will be resolved soon: http://code.google.com/p/guava-libraries/issues/detail?id=1250

Started breaking up SyncProxy.