Switch to underscores, because php mangles everything else

The bug is to move away from the php builtin array passing which
utilizes [].  The only non alpha-numeric character that comes through
query string keys, due to legacy register_globals, is the underscore.

Switch all uses of [] to indicate array membership to _.  Rename
topic_list to topiclist to prevent detecting it as topic. Includes
BC compatible clauses to still accept permalinks in the previous
format.

Bug: 56196
Change-Id: I8aff24ca4eb2f6c1adbb9ecef6d21f03d91688b5