Add compound addresses.

They aren't too well tested.
Fix a bug in addr_test.go and in reverse line addresses.

The test framework was bugged: if we wanted 0,0 and no error, we accepted any error.
This hid a bug in reverse line addresses.
This change fixes both bugs.
Explicitly store the reverse bit of regular expression addresses.

We still use the delimiter to determine whether the initial regexp is reversed.
But we store the reverse bit in a struct field, which is easy to toggle.
Much easier than toggling the delimiter, particularly because ? is an re1 metacharacter.