Improve the SubmissionResp object.

Instead of saving a list of Links (which is more information than is
needed to complete the payment), just store the actual value of the one
link we need ("approval_url") as a Text. Use the Link data type only
internally. Return an error if an ApprovalUrl isn't included.

Also make some random improvements like using Text more and
alphabetizing makeLenses and deriveJSONs.