Remove 'disabled' from inputs in payments

With the Aug 27 commit, a601035bd199a49f7f74ccf04ed0d889ca895f3e, the inputs under `.payment-method` are being disabled on line 15 but never correctly undisabled. This fixes that issue. Looks like it is affecting most branches.
fixes #5467
fix handling of credit cards expiring in current month
fixes #5468
Ignore guides.
Use Rails environments instead of DB configurations

In the admin forms for Spree::PaymentMethod and Spree::Tracker the collection used for the environment field is the database configuration keys. This is wrong and it becomes quite apparent in the case of applications that connect to more than one database. This commit replaces said collection with a collection of the available environment configurations in '/config/environments/'.

Closes #5170
Add issuestats badges.
Make best-promotion query more deterministic

Mostly for the benefit of the specs under MySQL.

This query was generating some sporadic spec failures for me when using MySQL as the database. This is because MySQL does not store fractional seconds so the "created_at" was sometimes the same value for two adjustments when running specs. And when created_at is identical the query below would actually pick the earlier adjustment instead of the more recent one.  Adding "id" as a fallback ordering fixes this problem and makes the behavior more deterministic.

The issue is reproduceable in postgres as well by using Timecop.

Fixes #4943
Fix running just rake for specs.
Fix rerunning sample specs without new dummy app.
Check payment method should respond to cancel. Fixes #5307
Improve the presentation during creating prototypes. Fixes #2526
Use slower but robust ActiveRecord for migration

When I ran this migration on my 2-1-stable store, I got the following exception:

    StandardError: An error has occurred, all later migrations canceled:

    Mysql2::Error: Column 'shipment_total' cannot be null: UPDATE spree_orders
                 SET shipment_total = (SELECT SUM(spree_shipments.cost) AS sum_id
                                       FROM spree_shipments
                                       WHERE spree_shipments.order_id = spree_orders.id)
                 WHERE spree_orders.completed_at IS NOT NULL AND spree_orders.shipment_total = 0/Users/username/appname/db/migrate/20140609012476_set_shipment_total_for_users_upgrading.spree.rb:7:in `up'
    ActiveRecord::StatementInvalid: Mysql2::Error: Column 'shipment_total' cannot be null: UPDATE spree_orders
                 SET shipment_total = (SELECT SUM(spree_shipments.cost) AS sum_id
                                       FROM spree_shipments
                                       WHERE spree_shipments.order_id = spree_orders.id)
                 WHERE spree_orders.completed_at IS NOT NULL AND spree_orders.shipment_total = 0

Rephrasing the raw SQL into ActiveRecord, the migration ran slower but didn’t crash.

(I was intending to add `if shipments && shipments.sum(:cost)` to line 7 but surprisingly didn’t need to.)

Fixes #4823
Add circle CI setup