Billing monthly cronjob using sgx-jmp

Just get the list of expired customers and tell sgx-jmp about each of them, wait
until all return or one errors and log result.
Work even with no plan
Use correct merchant account for card verification

Based on plan currency
Merge branch 'settled-after'

* settled-after:
  Bills and BTC are settled immediately
Bills and BTC are settled immediately
Merge branch 'three_d'

* three_d:
  3D Secure Valuting
3D Secure Valuting
Merge branch 'activate-with-balance'

* activate-with-balance:
  Do not activate directly in cronjob
Do not activate directly in cronjob

Instead, just insert and notify. sgx-jmp will handle billing and activation now
when it sees the balance is sufficient.
Merge branch 'invite-rewards'

* invite-rewards:
  Process invite/referral rewards
Process invite/referral rewards

Select all unrewarded codes where there are associated transactions to meet the
reward criteria, and insert the rewards to the DB.
Check for low balance when setting auto top up

People expect to be able to set their auto top up setting in response to a low
balance alert, and have this solve the problem instantly.  This change resets
the lock that prevents sgx-jmp from acting on a low_balance notification, and
then asks the database to check if the balance is low and issue a notify if
relevant, which would then result in sgx-jmp acting and charging their card at
the newly-configured level.
Factor out AutoTopUpRepo and add tests
Removed web activation form

No longer used for either registrations or as a hack for payments, everything
handled by ad-hoc commands now and nothing links here any longer.
Add rake, used for tests
Merge branch 'do-not-bill-unregistered'

* do-not-bill-unregistered:
  Query sgx-jmp for every expired user
  Show backtrace and bail out hard on panic
Merge branch 'rubocop'

* rubocop:
  Update rubocop