Revamped line tags.

Line tags are now propagated when lines are extracted from buffers and can be
configured when building Line instances. It was a PITA to not be able to do
this.

Ephemeral tags are not propagated when extracting or setting tags.
Provide new way to replace Builder's Tags.
Tweak Visit a bit.

Mainly I want the Visit to handle pushing the current loc so that, in the
absence of special circumstances, the visit stack just magically does the right
thing.