Added joining events functionality. Changes pending for private events.

Users can join both public and private events. Private events joining with password could be buggy. Need to test it on the deployed version.