Start the edit package by adding addresses.

The `AdditiveAddress` and `SimpleAddress` types enforce precedence on the Plus, Minus, To, and Then operators:
* `SimpleAddresses` can only appear on the RHS of Plus or Minus.
* Addresses resulting from `To` and `Then` cannot be added or subtracted.
I believe that this is consistent with how sam(1) parses address strings.

There are also a few unexported types such as simpleAddr and addAddr which are there only because you cannot add methods to interfaces. I really wanted `Plus`, `Minus`, `To`, and `Then` to be methods. I tried a version where they were functions; it was ugly. I don't like lispy prefix notation: `To(Line(0), End())`. I much prefer `Line(0).To(End())`
Is this special treatment of the ? delimiter worth it? First, you can get the same behavior using `-/regexp/`. Second, in its current form, you cannot use this function to create a reverse regular expression containing a meta ?; it'll be interpreted as the end delimiter. If you escape it, it'll be interpreted as a literal ?.

Sam gets around this with a hack: if the delimiter is ? then \? is the meta ? and [?] is the literal. But sam's behavior is inconsistent with regexp(7) and thus re1. First, regexp(7) explicitly states that the delimiter must be escaped if it appears in a character class. That breaks sam's [?] hack. Second, regexp(7) places no meaning on the delimiter other than it's delimity-ness. So there's no special handling to make \? meta when the delimiter is ?.

I am torn. Reading the ? delimiter to make a reverse regexp is cute and simpler than `Dot().Minus(Regexp("..."))`. Re1 could be changed to behave like sam w.r.t. the ? delimiter. It already deviates from regexp(7) in that it interprets \n as a literal newline: another sam-ism. On the other hand, sam's ? hack seems strange and inconsistent. What if the delimiter is |? Does \| mean the meta and [|] mean the literal? What if it's ]? How do you denote the literal? Do we need another escape [\]]?. All to avoid `-/regexp`.

Thoughts?