Refactor global gaTrack function. Bug 896001.

- Takes a single array of event data (instead of an array of arrays).

- Only sets hitCallback/setTimeout if a callback exists.

- Existing newsletter JS only sets callback for last event track.

- Existing newsletter JS tracks both new subscriptions and unsubscriptions.

Gareth tested both newsletter signups and newsletter management, and all GA tracking appears to be running as expected.