Validation of submitted parameter keys

Validation of all passed in parameter keys.  Check each parameter key that is passed in against the api method definition if the validate_keys option is set to true for the config.  If unknown params are passed in an UnknownParam exception will be raised.
A nitpicking one:

```ruby
raise UnknownParam.new(param) if description.params.select { |_,p| p.name == param.to_sym }.empty?
```