Move select-allele hint in chromo page

[#65197072]
Merge branch 'master' into inabox
Create Logging controller and initial set of log event types

Log event types are designed to be very similar to GeniGames events,
in case we ever want to use same system for analyzing events.

For now we just pipe log events to the browser console. These will
eventually be sent to a back-end.

[#55993772]
Start and end logging sessions; Log user logging in.

[#55993772]
Make it possible to log event data by passing in controller and array of props.

[#55993772]
Log various events by attaching listeners in log controller.

This allows us to keep lots of the logging in one location, although
care needs to be taken not to log redundant or incorrect info.

[#55993772]
Log dragging of organisms and meiosis animation events

[#55993772]
Log challenge completion and stars awarded

[#55993772]
Improve failure behavior if charMap isn't defined yet

[#37788167]
Only log parent-selected if we have a real parent

[#55993772]
Log changing allele pulldowns

[#55993772]
Log repeated challenge

[#55993772]
Log reveal, submission events; log invis drake chal

[#55993772]
Don't log initial allele change
Remove a bunch of less-helpful console.log messages
Log events assoc with top-bar, including all journal events

[#55993772]
Find and set learnerId, if one exists

[#65197890]
Add SyncTime library from GG

[#65197890]
Log events to portal and use eventQueue if we fail

[#65197890]
Allow for possibility that portal does not return classes

This seems to be the case in the dev portal

[#65197890]