Remove shared_contexts from core spec_helper

Fixes #2919
Check for existance of payment? method on Order instances before calling it

Fixes #2910
Generate an API key for all users

This is so that we can authenticate to the API using a token always.
Introduce Spree.uri and Spree.ajax helpers

Spree.uri is just a proxy to Spree.url. I kept typing uri when I meant url, and thought people might want to do both.

Spree.ajax takes some arguments and processes the URL through Spree.url before passing it to $.ajax. This is useful for people who want to make authenticated API requests to Spree.

Fixes #2901
Modify CreditCard#brand to use spree_cc_type, allowing development credit cards to be used

Fixes #2923
Add migration to remove spree_products count_on_hand

Fixes #2895
Don't attempt to generate user's API key if instance doesn't respond to spree_api_key
Check if order has payment step before checking for @order.payment?

Fixes #2910
point to github's https endpoint to avoid authentication errors.

Fixes #2925
Rename generate_api_key method to ensure_api_key so it doesn't conflict with Admin::UsersController
[frontend] Add spree_api_key stubs to controller specs where appropriate
[backend] Order stock_items by id in stock_locations_spec to fix MySQL+PostgreSQL tests
Ensure mail can actually be delivered in mail_methods_controller_spec
Bump database_cleaner to 0.9.1
Fix StockLocation spec
Revert "Bump database_cleaner to 0.9.1"

Due to randomly failures with SQLite3's locked DB, I have to revert
this commit until database_cleaner sort this out

This reverts commit a726fa2c437e2408d095f6b2b339a61aba3a1ed3.
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.