Effectors accept form encoded data

A bunch of uncontroversial commits and 85a2b0c which adds FormMapProvider to marshal an InputStream to a `Map<String, Object>`. It's used in the effector API to let the invoke method accept form-encoded data.