Return 0 for negative cols as well.
Fix error in brace mappings.
Use Loc.nextStart.
Added trim-trailing-whitespace config & fn.

When active, whitespace is auto-trimmed from a line when you press return
anywhere along it. This is almost always what you want, so it's on by default.
Various _maxRow crack smokery fixes.
Revamped line searching and matching.

We now have a Matcher abstraction which handles matching something. Right now
we have an exact and a loose matcher for char sequences, but the abstraction
will eventually accommodate regular expressions with minimal additional fuss.

Line now defines indexOf(Matcher) and lastIndexOf(Matcher), which are used to
seek within lines. Buffer now has findForward(Matcher) and
findBackward(Matcher) for searching for a matcher in a buffer.

Also renamed the character based finders to scanForward/Backward. Overloads and
default arguments (tragically) cause scalac to throw up its hands in impotence.
Don't look for block opener at loc.

I think I like this better...
A bunch more work on indentation.

Factored most of it into Indenter, which a mode will customize. Added a means
by which various indentation rules/strategies can be attempted in succession.