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.
No, this is essentially the earliest place (although some checking also happens in the parsers, which is the step right before Request construction).