Prevent voices from entering tournament battles as a battler

~~Sets a variable inside battle rooms that should only be enabled when the
tournament script calls it. This variable prevents roomvoices from joining
the same way they are prevented in rated battles.~~

To mark battles as tournament battles, refactored battle room constructors 
to accept more generalized details. Said details currently process whether 
the battle is rated and whether it is a tournament, but can be expanded to 
check for more parameters.
Or just `if (typeof details !== "object") throw new Error('this usage is deprecated');`

I used to believe it was better to be flexible in what you accept, but that just leads to code rot.