After creating a ve.Surface in a test, destroy it

I was seeing intermittent test failures caused by exceptions in
ce.SurfaceObserver (!!), seems to be caused by the FormatAction test
creating a surface but not destroying it.

Change-Id: I7ab070d3c8db934eb9781ac8a6466475144c214e
Combine consecutive remove operations

We already combine consecutive operations of other types, but didn't do
that for remove. We have to do this, though, because translateOffset()
gets confused otherwise.

Change-Id: I4285a3efd9f2297398f57e2f24adb26adafdf465
Add ve.Range.prototype.isBackwards()

Change-Id: I6f6977cfc9d772239da22ceb779e5e37576c2e0c
Merge "After creating a ve.Surface in a test, destroy it"
Merge "Combine consecutive remove operations"
Merge "Add ve.Range.prototype.isBackwards()"