Code cleanup
Prevent counts if the underlying metadata is missing.

This can happen when multiple versions of Suma are running in the same browser. If one finished collecting, it will close and submit the active session from the other tab. Let's at least try not to collect any corrupted data.
fix activity group display in secondary chart
Update error messages.
Also check for closed sessions, in case the session is still being sent to the server.
Merge branch 'master' into preventClientCollisions
Merge branch 'preventClientCollisions'