Declarative smart param errors

If an unknown parameter is passed to a request, the framework will 400'd explaining why and trying to give possible parameters that matched the unknown parameter.