Set timeouts on ws calls

...or on ajax requests via the usual timeout.
It COULD be a bad idea supplementing with our own error codes, but I think we gain more if the errorCb could always know that it is a valid jsonrpc error, and using a code makes it easier to match the failure in your callback.  Maybe we could alter the format and supply our own "clientCode" or such instead of code, to avoid masking any servers implementation defined error code, and then clearly document that if the error contains a "clientCode" it is not from the server.