Adde reverse_balance_id field to UserBalance

Track reverse balances, from -> to, to -> from
Make sure attributes are not mass assignable

Using whitelist is safer in order to protect against future attribute
additions.
Needed to specify at least 1 attribute
Prevent updates except for 1 attribute

Balances should not be modified.
Create reverse balance automatically.

to -> from and from -> to
Fixing UpdateBalance tests, adding new tests
Make UserBalance keep track of current balance
Make sure UserBalance doesn't create duplicate current balances
Fix tests relating to duplicate current UserBalance
Fixed another UserBalance Test