Remove duplicated data from legacy events

When event-tracking was fully integrated into the platform, some data was replicated in the context in the middleware and then later extracted and moved the old location by event-tracking. The legacy code path was not updated to remove this transient shim data from the context resulting in duplication of the information. This patch ensures that the transient information is removed from the context before emitting the event.

Fixes: AN-2369
Allow external_auth registrations to bypass PW complexity check
Annotator Tools: Fixing annotator break in login and dashboard
Advertise JIRA
Show the enrollment counts for each mode on the instructor dashboard.
Merge pull request #4615 from edx/dcs/enrollment_count_dashboard

Show the enrollment counts for each mode on the instructor dashboard.
Reorganize README
Check if user is anonymous before calling PSYCHOMETRICS
LTI grade callbacks for example, come in with an anonymous user.  This causes a
stack trace in the psychometrics app that leads to the LTI service
getting a 404.  This adds a check before that callback gets registered.
Merge pull request #4648 from edx/db/advertise-public-jira

Advertise JIRA
Remove setuptools

Oops
Merge pull request #4650 from edx/db/remove-setuptools

Remove setuptools
Merge pull request #4295 from mitocw/cg/psycho_require_auth

Check if user is anonymous before calling PSYCHOMETRICS
Merge pull request #4646 from lduarte1991/lduarte-harvardx-pr16

Annotator Tools: Fixing annotator code break in login and dashboard
Merge pull request #4585 from edx/jbau/ext-auth-fix-password-complexity

Allow external_auth registrations to bypass PW complexity check
BLD-1049: Remove Group Configurations.
allow rsyslog to be none
Bok-choy: check if mysql is running, even if it's not a daemon.

The impetus is integration with test environments, where mysql is not configured
as a service.
Translate string iff non-empty

This resolves an issue where a checklist's long_description being empty
caused gettext to dump PO file headers.

I had originally made this change to the Stanford-Online/edx-platform
repository a few weeks ago [0] to address a failing test on our fork.
I didn't take the time to diagnose the root issue; I just fixed it for
the single case.

After stumbling across the issue elsewhere, @kluo <kevkluo@gmail.com>
followed through and tracked down the cause of the behavior. It turns
out that `gettext`, by default, translates the empty string into PO file
headers; this is apparently a feature, not a bug [1].

This behavior seems counterintuitive; for our use, it seems that
translating an empty string should simply return an empty string. We
already program defensively around this in platform code [2], but it'd be
convenient to resolve this with a centralized solution, instead of a
patchwork of fixes.

[0] 4b88f54aa658db952e899222ff5ede4a1c1beb18
[1] http://stackoverflow.com/questions/18459387/translation-of-empty-string-shows-po-header
[2] https://github.com/edx/edx-platform/blob/master/cms/djangoapps/contentstore/views/checklist.py#L140
Merge pull request #4652 from edx/jarv/only-add-handler-if-rsyslog

allow rsyslog to be none
Merge pull request #4645 from edx/benp/mysql-as-process-not-service

Bok-choy: check if mysql is running, even if it's not a daemon.