add more metrics to the donate-neo prometheus endpoint

We're missing key metrics from the prometheus endpoint. We want to add:

  • donation processing error count (currently tpa_crm_donate_ext_other_error_count), grouped by type (currently captcha, amount_not_an_integer, rate_limiter_IP and rate_limiter_email, but your implementation will probably vary)
  • donation transaction count (currently tpa_crm_donate_ext_transaction_count), grouped by status (success or failure)
  • recurring donation count (currently tpa_crm_donate_ext_recurring_transaction_count), grouped by status as well

We also have fail2ban stats right now, but those are not relevant here as we're relying on the rate-limiter built into donate-neo. Those should still generate metrics though, so I would add:

  • number of bans, grouped by type (say IPv4, IPv6 (or just ip), email, and so on)

This is a requirement for promtheus monitoring (#72 (closed)) and alerting (#75 (closed)).