Extract docstring logic into a separate module

- This includes the prototype formatting for overloads, and also
  deduplication, which is now used from both the overloaded op's
  docstring method, and from the mail vocabulary reference generator.