Undefined fixes and Login field override

## Fixes for the undefined issue
- Looks like it was just the look ahead issue coupled with userId not being set on the sessions
- Added createUserId so that if the userId does not exist on the session it will be created and added

## Option to override login field
- Can login with another field, such as email, by passing the field name in with options like so
    
```javascript
passport: {
  usernameField : 'email'
}
```

- This is an optional parameter as it is defaulted to 'username'
- Currently the component doesn't work if you override the login field but that will come later, if option is set to 'username' or not included in the options defined on the server the components still work just fine (if the login field is still username)

Oh Coffeescript, I still can't believe that the issue was the fact that the function was defined after ><