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.
On this same line of thinking, i was implemented my ID command, and kept getting some random json marshaler error, with no context about what was causing it... fortunately, it randomly went away and i didnt have to debug it...