Add /login and /signup endpoints and sends JWT back

Uses JSON Web Tokens for authentication. 
- /signup creates a new user and sends a JWT back. 
- /login checks the email against hashed and salted password in the db and sends a JWT back upon successful authentication

Tests were also written and added under spec:
- Tests to ensure existence of endpoints
- Tests to ensure expected behavior occurs upon:
 - User correctly signs up with new email
 - User tries to signup with already existing email
 - User correctly logins
 - User login fails