Fix Option Validation

Resolves #349

I had moved the option validation code to happen inside `NewRequest`, but had forgotten to make it return the errors.
Is the purpose of the test...

a) to ensure that `NewRequest` returns errors when fed with invalid inputs or
b) to ensure that Call returns errors when it is fed invalid inputs?