Detect deceased rmi clients and clean up
If an rmi client goes away (exits, is killed, whatever) while holding
the write lock then mulgara will stay locked up forever. One of the
rmi wrapper classes needs to implement
java.rmi.Unreferenced to get
notified when clients disappear and needs to abort that client's
transaction, if any.
Note that #121 will help here, but catching the unreferenced
notifications has the potential to clean things up much quicker
because in a typical production internal network environment the rmi
lease timeouts can be set much lower than the transaction timeout.