Refactored datetime objects to be instantiated using `django.utils.timezone` helper function `now()`. This will create a tz aware object if `USE_TZ` is set to True in settings, otherwise creates a naive datetime object.
Fixed handling where 2 simultaneous requests by one User would execute 2 INSERT queries, the 2nd failing due to non-uniqueness of `session_key`. Prevents unnecessary error log spam.
Merge remote-tracking branch 'origin/timezone-support'