detecting chained ops on disappeared elements and erroring appropriately

Using without(time).element(by) will now succeed if element 'by' is disappeared within duration specified by 'time'.  however, chaining in the form of without(time).element(by).element(by) would throw null pointer exceptions.

This change makes all chained ops off of the disappeared element throw an UnsupportedOperationException.