Fix minor issues with WebSocket handling code
Fix minor issues with WebSocket handling code

# Biggest issue was that the "passed midnight" checking code checked if the
# old date was less than the new, but this compared days of the month and
# would have failed at the end of a month. Now just check day is different!
# Rename a few variables and remove some unnecessary whitespace.
# Every message has a heartbeat now, so use that without exclusive else.
# Ensure we have a user snapshot in `checkForWebSocket(...)` each time.

ucam-cl-dtg/isaac-app,ucam-cl-dtg/isaac-app,ucam-cl-dtg/isaac-app,ucam-cl-dtg/isaac-app