update an API, add requested functionality:

- getters: custom default return values
- value type introspection
- map/formmap: addPairs function