Fix active merchant for some currencies.

Currencies without 2 decimal places would not be correctly represented
to active merchant, as they would always be multiplied by 100.

As an example, something costing 200 yen would pass 20000 yen to active
merchant.

This now uses the cents from the money object which handles this logic
much better.

Fixes #2930
Fix exception when product brand is nil

Fixes #2927
Update shipping rate cost column to default to 0.

Fixes #2931
Remove src ||= source from Adjustment#update

This caused the following build failure on spree_auth_devise:
https://gist.github.com/radar/5449670

After removing it, I ran the tests and they all pass:
http://ci.spreecommerce.com/viewLog.html?buildId=6245&buildTypeId=bt5&tab=buildLog#_focus=140

I don't know why this line was ever necessary in the first place. It was added
in a8898232f40116cd72065d265ad997157e278579.
Rely on spree_user mappings from Devise, not user

For reasons, see commit 4a27c35fd29cf4fcafc1cf6b2401d937361610b9 in spree_auth_devise
Sleep during order details test to prevent database still being locked when database_cleaner does its thing
Wait for API request in stock_locations_spec to complete
Link Country Based and State Based labels to radio control

Fixes #2928
Remove unused emails_sent_from preference

Please now use mails_from