HubMethodResult changes

HubMethodResult allows the value returned through the hub pipeline to be
declared as a result or error object. Any error objects are passed to
the fail() callback on the client.