Simplify adding new overloaded operations

- A dedicated class is not in fact necessary, we can make do with a
  stock one, since they all do the same thing.  Thus nothing remains
  left of a number of files, since all they carried was a boilerplate
  that has now been factored out.

- Adding more overloads to existing classes is now awkward, as one
  needs to look up the overload, dynamic-cast it and cast away const,
  get the overload table, and then add the new overloads.  (See what
  builtin-dw.cc does for value.)  This should be cleaned up next on.