Effector invoke API accepts 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.
Or maybe not. Changing the signature to `Map<String, ? extends Object>` results in Jersey warning:
```
WARNING: The following warnings have been detected with resource and/or provider classes:
  WARNING: Parameter 5 of type java.util.Map<java.lang.String, ?> from public abstract javax.ws.rs.core.Response brooklyn.rest.api.EffectorApi.invoke(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.util.Map<java.lang.String, ?>) is not resolvable to a concrete type
```
And the test added to ApplicationResourceTest fails too.