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