Use apply/update syntax.

The extra parens are less than awesome, but I still think I prefer the overall
gestalt.
More correct dirty restoration on undo/redo.

Shit be complex!
Basic save-buffer implementation.

Hey, now we can read files, modify them, and write them back to disk. Look ma,
we're an editor!
Added Editor.miniReadYN.

I'm not sure if I'll end up with a proliferation of minibuffer read variants,
or if y/n and string pretty much cover the bases. If they don't, I'll rethink.
Automatically add the ' (y or n)' to the prompt.
Some special handling for non-existent files.

We still want as "canonical" as possible a path even for files that don't
exist. So if you edit "foo/bar" we want to prepend the cwd before passing it
on. As the comment says, it would be nice if the caller didn't have to do this,
but once we turn it into a file this becomes fiddly.

This is a stopgap solution and I'll revisit at some point. I may yet ditch File
entirely and use NIO Path...
Implemented write-file.

The magical buffer renaming mentioned in the comments is not yet implemented.
TODO!