Change Devise Mapping to be spree_user, rather than just 'user'

This stop spree_auth_devise from clashing with any other Devise-backed User-model using configuration from applications.

While this *may* break existing applications, the change is necessary in order to prevent mysterious behaviour.

The mysterious behaviour I have seen today was that an application was using
Devise for its own User model, and the application was also using
spree_auth_devise which provides the Spree::User model, but defines a Devise
mapping of :user.

Due to spree_auth_devise overriding the Devise mapping for :user, the wrong user
class was being referenced in an omniauth callback, leading to undefined method
errors.

Moving spree_auth_devise over to a 'namespaced' mapping is the only way to
ensure that strange behaviour like this doesn't happen and that
spree_auth_devise is completely separate from any other authentication setup
within the main application.
Only depend on core, frontend, backend + API components
Set default host option for AM in password_reset_spec
Add logout route. Without this the store_location method was throwing an exception.

Fixes #72
Add missing translation keys that were previously available in core
Order orders by date.

Fixes #75
Fix session variable name for redirect_back_or_default

Fixes #79
Set user_mailer to use Spree::BaseMailer to mimic OrderMailer and ShipmentMailer

Set mail :from to from_address method from the base mailer, so that it will use the email in the current MailMethod

Fixes #77
Use success messages in admin/users_controller
Fix issue where deleting a user would show a 500 error in the JS console

Fixes #74