split join event into pre and post events, add JoinRejectReason
remove AddPlayerReason parameter from Arena.join method
implement usage of PlayerLeaveEvent