828 allow room keys change and 827 password attributes to key

Passwords attributes changed to key attributes and now keys are only relevant to the user role, passwords are internal and created for when send_created is called.

refs #827
refs #828
The problem of not generating `moderator_api_password` and `attendee_api_password` in the factory is in tests like this one. When it gets here, `moderator_api_password` is probably nil, so it's not really testing that the correct password is passed.
We have to consider adding the internal passwords to the factory... Not sure if it's better or not.