Cursor / Selection API changes in Editor

Here are my suggestions for editing the cursor and selection API. My main goal is consistency and symmetry. I'll pepper with inline comments explaining my decisions.
These might be controversial. I renamed them to match the selection API, as I think the selection API does a better job with clarity. In this world, everywhere we call `getCursor`, we would now call `getLastCursor`.

We may be able to remove `getCursor(index)`. We should make a decision: do we provide `getThingAtIndex` methods, or do we have people use `getThings()[index]`? Then do that all over.