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.
Good point. The only thing to note about this is the fact that according to the JavaScript spec, `typeof null` returns `"object"`, so line 574 will still crash! 

I could probably fix it by having the conditional be `if (typeof details !== "object" || !details) so that the null edgecase can be caught as well.