Validate options passed to public fns [IMMUTANT-397]

The validation just makes sure the given option keys are a subset of
the available options for the fn - the values are not validated.