Add fieldName as first parameter to Bind and Binder.

Henceforth, types can be re-used without the need to modify them every time
their field name changes. Enables types to be used more than once in a single
form.

closes #3
Re-use bindForm() for processing of JSON-encoded data.

closes #4
Improve comments.
Add tests for JSON utility functions.
Merge pull request #7 from wmark/for-mholt

Unified paths for form-encoded and JSON-encoded data.