Fix admins adding tickets.

Previously, admins couldn't add tickets. This was because after
the 'ticket_id' field was introduced, the admin interface was updated to
generate this required field. This commit allows the admin interface to
generate the field, in the same way that it is generated via a regular
payment.

This commit also slightly refactors the ticket building code, which
makes it more readable. (Previously, it would build a generic ticket,
then join the 'user_id' into the parameters. Now, it just builds a
ticket from the user, using Rails relations.)