Add generate_spree_api_key! to the signup

Not entirely sure why this is needed, but it solves the problem where
users weren't getting signed in immediately after sign up
Make sure that the user is token authenticatable
Token authenticatable is failing
Make sign in work for JS, not only HTML
Fixed tests and Lailson's feedback
Merge pull request #5 from HeroInt/bugfix_spree_api_key_not_generated

Bug: Newly signed up user isn't signed in correctly