Add guest session

Added a guest session and changed chat to use current user object
You shouldn't depend on another behavior of User#retrieve_user. This should be in a let block:

let(:user) {User.create(name: "Guest")}

The expect block should actually guarantee that you're retrieving the same user:

retrieved_user = User.retrieve_user(user.id)
expect(retrieved_user.id).to eq(user.id)

^ that should be sufficient