Mixpanel: track page views as a single event, and allow optionally disabling of page view tracking

This change breaks compatibility for page view tracking via Mixpanel.

Previously, each page view was logged as a distinct event, with the URL as the name of
the event. This can result in many events, if you track many different URLs.

As of this commit the Mixpanel module logs each page view as an instance of the "page viewed" event.

This change confirms with a recommendation in the Mixpanel docs. See here:
  https://mixpanel.com/docs/getting-started/events-vs-page-views

To revert to the old behavior, use track(url, event: url) to specify the URL as the event name.

To disable page view tracking altogether in Mixpanel, initialize analytical with a { track: false }
option for the mixpanel module.

Lastly, the method signature for #track in this module now matches the method signature used elsewhere in the analytical gem.
Add support for the Mixpanel "alias" function

A call to analytical.alias_identity will now work for Mixpanel. Usage is slightly different than the already-existing KissMetrics implementation as the first parameter is ignored.

  analytical.alias_identity(nil, "the new identity")

The queueing of javascript commands is modified in two important ways:
1. "alias" is always added to the head of the queue rather than being appended.
2. "identify" is ignored (not queued) when "alias" is already at the head of the queue.

This behavior conforms with Mixpanel's recommended usage of alias and identify.
See https://mixpanel.com/docs/integration-libraries/using-mixpanel-alias.
Fix spec break caused by varying order of key/value pairs in analytical's result string
Merge pull request #70 from oshoma/master2

Mixpanel: track page views as a single event, and allow optionally disabling of page view tracking