Start authoring plugins

- Ended up reinstating filterChild for convenience.
- Refactor plugins to match API.
- In pruneBlank, limit the maximum number of columns
  per table to 64.