Encodes all URL parameters and moves to an Exception-based rather than null-based error mechanism in most cases.
Closes #383 by providing default values for all required fields.