* Refactor internal APIs to allow overriding traversal by subclasses.  This
  enables subclass implementations to provide e.g. restish-style object-based
  traversal.

* Add a `params` property which gives access to the full POSTed parameter list.

* Handle the case where a form POSTs keys multiple times.  This is a more
  common way of doing multiple values for a single key.  Thus these two forms
  are semantically equivalent:

  key=1,2,3
  key=1&key=2&key=3
Merge pull request #307 from warsaw/refactor

Internal refactoring and a few other changes to support restish-ish traversal