Fix set expiry js response, update checkout.js

It seems that somehow c3db7b7ff628b481403b9be8372257f14cd39d73 broke the checkout.js script on the frontend (the js that controls switching between state text input and state select). I am not 100% clear why this is the case but perhaps it has something to do with the way jQuery handles cache control headers? 

I am unsure why this is the case but it does seem that `frontend/spec/requests/address_spec.rb` fails as of this commit, and passes if one rolls back to its parent.

I also found an edge case where having no default_country_id, or one without associated states in the db, would leave the 'hidden' class on the state_select.