use go-querystring for constructing URLs
addOptions doesn't need to be exported
add omitempty to Options structs

we're not actually testing if empty values are being omitted yet, but
udpate testFormValues to easily check this in the future
use new pointer logic in go-querystring