Use regexp for firstMiddleM in TripleAnchorAlign.

This ensures we match the earliest middle or first. Previously we were
searching for middle and could skip past the first that should have matched and
find some previous middle that's in the same block.

Also did some arg renamery. Both for brevity and to avoid refielding
constructor args which we actually want to pick up via a super val.