Refactored payment_refund() arguments to abstract transaction_id

Previously transction_id had to be passed to payment_refund(), but this was bad becase differnt payment modules will require different data to be passed to them. Because of that, it's better to only pass the payment token, and the let individual modules look up whatever data they need based on it.

get_data_from_payment_token() was introduced to simplify the process for payment modules.

See discussion at https://github.com/Automattic/camptix/commit/a77520be88a6784f1ece281b3e360a562c084ac8
Added mechanism for payment modules to report which features they support

Payment modules can declare which features (such as refunds) that they currently support, and CampTix can respond appropriately (such as hiding the link to obtain a refund).
Updated attendee query to retrieve any post status

get_attendees_from_payment_token() can be used in a variety of situations, and in some cases the caller may want attendees that have been refunded, are pending, etc. The function shouldn't assume that only published attendees will be requested.