Cleaned up auto indentation of record syntax and record update syntax.
Rename and cleanup of regexes. Split the PossiblyNested function into
NotFollowedBy and NotPrecededBy, which are more flexible.

Also changed handling of if, so that it properly treats a line break after
``then'' as a line continuation.
Added support for ``where`` blocks.