Fixed tests failing due to time out of joint.

We were running the tests "in the past," but the Authorize.net sandbox
didn't know that, and it wouldn't let us start a subscription before the
current (real-life current) date. Now we run them far enough in the
future that we won't have to revise these tests for a while.
Capitalize account status and add white space.

https://www.pivotaltracker.com/story/show/67702774
upgrade ruby version
Force Ruby upgrade on Heroku.
Gave the main billing page a sensible path name.

It should really be the `show` action on a singular `billing` resource,
but we'll get to that later.
Adopt resource-based routing for BillingController.

Includes test for manual renewal, which silently broke when we did
this.
Merged new and update billing forms into a single form.
Simplified current_user/_org helpers.
Simplified expiry date form code.

No need for Rails's weird `select_date` helper when we just need a
year.
Upgraded to Poltergeist 1.5.0.

Poltergeist is much faster, but we ran into some intermittent test
failures. The problem seems to be a race condition where we look
for the "Logout" link before the page has refreshed. Tried a few
things to make it work better, but it still fails sometimes. We're
going to live with it for now, and maybe try Capybara 2.2.
Refactor: set expiry fields only if paying by card.

We were setting those fields even if you paid with a bank account.
Refactor: unduplicated code in billings#create/update.

Most of this code should be implemented by the model, and/or just by
setting @payment.attributes = params[:payment]. But this is a safe
improvement for now.
Rewrote request specs to be request specs.

They were integration tests in disguise, using Capybara, which is
no longer supported in request specs as of Capybara 2.0.
Collect and display billing phone number.

To do: pass it along to Authorize.Net.
Wrote tests for user report CSV.

Also made a few changes:

  * removed extraneous space from City header (made feature fail)
  * added blank cells where payment info is absent
  * reduced DB query count
Added billing phone and email to user report CSV.
Wrote test for "change payment type."

Also renamed a method, for clarity.
Fixed test bug: User CSV contains hard-coded dates.

The "expected CSV data" table has to be static, so we set "today" to
something static, too.
Fixed test: todo tests fail on Saturdays.

Timecop travel to "next Tuesday" turns out to be "some Tuesday." Now
we make sure to travel to a *future* Tuesday, so the todo will be
overdue.
Wrote "cancel subscription" test.

Also fixed bug where "successfully cancelled" message didn't show up
after cancelling, because it didn't survive multiple redirects on the
way back to the dashboard.

(Should the user be redirected to the dashboard? Pending.)