Makes mail method a single resource

Fixes #2643
No need for 'Closes #1234' in commit messages

I'm happy with the current workflow of pulling down, reviewing changes and amending as necessary.
Correct documentation for title helper

Fixes #2878
Only set ActiveMerchant::Billing::Base if gateway_options[:server] is available
Make StockLocation#stock_item return real first stock item

Fixes build breakage with PostgreSQL
Stub spree_api_key call in MailMethodsController

So that when this controller is called it doesn't attempt to generate one
Remove references to defunct MailMethod factory
Fix indeterminate ordering problem in stock_location_spec
Bump highline to 1.6.18
Show both name and sku of variant on transfer stock form
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