Changes to the next version

br.shmem.InvalidOperationException is misused.
This exception should not be thrown to the user if it denotes unknown operation. Therefore, methods such as login() should not complain about invalid operation.
br.shmem.SharedReference.callMethod() throws too many exceptions
This method should have only one extra exception in its throws clause. This allows better control over user exceptions in client-side, as well as cleaner code.