Add parsing for analytics data

The parsers for StupidRobot analytics are based on the Tetris parsers; the two
use the same framework. Currently, there are two StupidRobot parsers written:
 - displaySession:  displays a log of the game session
    - (StupidRobot specific)
    - concatenates letters
    - displays image thumbnails
 - exportCSV: exports events as CSV without processing
Improve displaySession parser, add new StupidRobot events

These changes reflect feedback on the original displaySession parser. The actor
for each event (player/game) has been capitalized for emphasis. Repeats of the
image being displayed have been removed. In addition, two additional event
types have been added to the log: "start session" and "end game". The first is
logged when the game starts, and the second when the score screen is displayed.
Modify tag parsing to split multiword tags properly

Multiword tags are split to create additional single-word tags. These
single-word tags are only saved in the database - they are not returned
to the user and do not affect their score.

When tags are submitted from a game, they are expected to either be an
array of tags, or a string separated by commas or double quotes (").
The two symbols are treated equivalently, so matching quotes is not
necessary.

Known issues:
 - GuessWhat does not have client-side character filtering, making it
   possible to give multiword hints. This bug is more evident with the
   changes to tag parsing. It should be easily solvable using a list
   of forbidden characters like ZenTag or StupidRobot.
Parsing: Add drop-down selection for displaySession parser

This commit adds a drop-down menu at the top of the session log. This
allows users to quickly switch between uploaded logs.
Parsing: Change timestamp display for displaySession parser

This commit simplifies the event timestamps from HH:MM:SS:mmm to MM:SS.
In addition, the timestamps are now relative to the start of the
session. The absolute time is now given in the header of the log, next
to the date.

Other changes:
 - Pad single-digit times with zeroes to print correctly
 - Add browser string to the display (italics, at top)
 - Add link to image thumbnail which opens a full-size image in new tab
Merge remote-tracking branch 'upstream/development' into development
Merge branch 'parsing' into development

The analytics parser(s) are sufficiently functional to merged into the
main development branch. From here on, any further changes to the
parsers will be made on the development branch.
Add analytics/ folder to fix-perms.sh script

In order for PHP to be able to create and write the analytics
logs, it must have write access to the folder, which can be
granted by the fix-perms.sh script.
Merge branch 'gsolbeck-development' into development: multi-word tag, analytics parsing
Merge branch 'development' into game-reskins: multi-word tag, analytics	parsing