handle trying to remove an unknown object

When removing an unknown object the SplObjectStorage was throwing
an UnexpectedValueException.  Best practices are for all of our
exceptions to extend from MWException(and then FlowException).

This patch checks the condition and throws the appropriate exception.

Change-Id: I447aa0ca89dd195e06979a090dee8b5c2095bf85
Forget state between tests

While PHPUnit generates a new object for each test it runs, when using the
--repeat argument it will re-use the objects.  This means that appending to
$this->revisions here without ever clearing it led to repeated runs of the test
getting the previous tests data.

Change-Id: I7fb423db3d125d3788c9f1205df1c23df3fd732f
Merge "handle trying to remove an unknown object"
Merge "Forget state between tests"