Address state is required (and shouldn't be)

Email validation in checkout controller decorator assumes the
`address` state will be the present. Changed to use the first
checkout step via `current_order.checkout_steps.first`.

Fixes #59
Add French locale

Fixes #60
Require controllers before attempting to decorate them

This fixes the situation in the tests where the decorators were loading before
the classes they were trying to decorate
Add a comment about why spree/auth.rb needs to exist
Add pry because it's awesome for debugging
Fix asset requires
Depend on frontend, backend + core
Fix CheckoutController spec by using a real Order object:
Fix has_spree_role? check in CheckoutController speC
Correct User stub within ProductsController spec
Correct flash message + field checks in users spec
Remove payment requirement from checkout spec so that it is smoother

In the auth tests, we don't really care about payment stuff... so why even test
it? This means that we don't need to create a payment method in the test and we
don't need to load the payment view.
Massively simply checkout spec

A lot of the tests that were here already have corresponding tests within core/frontend
Use correct email address for user mailer
Correct flash message in sign_in_spec
Correct flash message in user_spec
Stub has_available_payment so that validation doesn't fire
Updating a user shows the user again, so no need to navigate back in user spec