add "expected_total" param to checkouts controller

for https://trello.com/c/c0m8hq7y/163-fix-hack-for-forcing-correct-payment-amount-at-checkout

allow the frontend to tell the backend how much it expects to be charged before charging.
if the amount doesn't match then return a 400 with a specific error message.