Login

Mostly work on group join. I did fix a lot of indentations cuz it was killing me.
Let's make that in a separate diff. This diff is already pretty big.