Added basic Salesforce integration.

Only sending organization name for now, until we figure out what
attributes map onto what Salesforce field.

Only "create organization" is tested, although we think the code
works for "update organization" as well. (In fact, we should
probably make it not update Salesforce unless relevant attributes
have changed.)

Also updated and finally started using Figaro for local
configuration.

We adopted DatabaseCleaner's truncation strategy so that Organization
IDs would be reset between scenarios, so that they will be consistent
between different runs of the same scenario, so that the Salesforce
URLs will be consistent, so that VCR can replay them.
Upgraded Poltergeist.

In a possibly futile attempt to fix the intermittent timing bug in the
"sign up with discount code" Cucumber scenario.
Test that we update accounts in Salesforce.

This was already implemented because we used `after_save` and
`upsert`, but now we have a test for it.

https://www.pivotaltracker.com/story/show/71344488
Send Salesforce upsert errors to Airbrake.

So we know about them.

https://www.pivotaltracker.com/story/show/71344488
Send billing address to Salesforce.

We're also jumping through some hoops now to avoid listing
every single Salesforce field in the unit test.

https://www.pivotaltracker.com/story/show/72344822
Send phone and fax to Salesforce.

https://www.pivotaltracker.com/story/show/71344488
Changed "Submit Payment" to "Update" when updating.

"Submit Payment" sounds like you are paying right now, when in fact you
won't be charged until your next billing date.

https://www.pivotaltracker.com/story/show/71683556
Remove VCR cassettes from the repo.

They may contain sensitive data.
Send more fields to Salesforce.

https://www.pivotaltracker.com/story/show/71344488
Added primary contact name to Salesforce.

https://www.pivotaltracker.com/story/show/71344488
Send billing name to Salesforce.

* send Primary Contact Email
* test that updating billing info updates Salesforce
Send more billing info to Salesforce.

But not next billing date, because it's set up in Salesforce as "days
until," which doesn't make sense for a static field.

https://www.pivotaltracker.com/story/show/71344488
Test Salesforce date/currency formatting.
Send Amount Paid to Salesforce.

Amount Paid is derived from the payment history via
organization.latest_billing_amount.
Refactored Salesforce test steps.

This is hopefully a little clearer, and also doesn't require logging
into Salesforce every time we want to check something. (We just log
in once, at the beginning of the scenario.)
Refactored `SalesforceClient#upsert_account`.

Extracted hash of fields to a non-destructive method so we can check our
work without modifying Salesforce data.
Added activerecord-import gem.

To help us import some realistic test data from production.
Salesforce data tweaking.

* added next billing date
* disabled subsidizing organization
  * Salesforce expects an ID, we only have a name
* fixed error when primary contact name is an empty string
Send discount code identifier to Salesforce.

... instead of trying to send the associated `DiscountCode` model.