Refactor caution.js module

In this PR:
 - caution.js uses updated connect() API
 - caution.js uses staggered cashboxes -  select first the cashbox then the currency
 - cashbox selection is saved and autoloaded using AppCache
 - HTML reformatting (ng-if favored over ng-show)
 - UI alerts if the min_currency_unit is greater then the proposed amount