Adding new Google Analytics eCommerce event to shoppingcart.

This PR is for task ECOM-546 to add new google analytics events to shopping cart purchases.  Now, when an Order's purchase function is invoked, an isolated function will emit an event to GA. This is wrapped in a 'catch all' to prevent any error interrupting the purchase transaction.

Tests included.

Raw output from the event is as follows when tested:
{
  "timestamp": "2014-11-12T21:09:05.186Z",
  "userId": "13",
  "properties": {
    "orderId": 10,
    "currency": "usd",
    "total": "12.00",
    "products": [
      {
        "sku": "SteveU/Steve201/Sanchfinity",
        "category": "Donation ",
        "price": "12.00",
        "id": 10,
        "quantity": 1
      }
    ]
  },
  "context": {
    "library": {
      "name": "analytics-python",
      "version": "unknown"
    }
  },
  "event": "Completed Order",
  "writeKey": "XXXXXXX",
  "receivedAt": "2014-11-12T21:23:21.101Z",
  "type": "track",
  "messageId": "XXXXXXX",
  "integrations": {
    "Google Analytics": {
      "clientId": null
    }
  }
}

@rlucioni @wedaly please review
* The `Donation` order item may set `course_id` to `CourseKeyField.Empty`.  I'm not sure how this interacts with `to_deprecated_string`

* I'm concerned that this requires `Order` to know too much about a `OrderItem` subclass implementations.  Would it be possible to create a `sku` property on the `OrderItem` base class with a default implementation, which subclasses can choose to override?

* I'm also concerned about setting the SKU to an empty string by default.  This basically creates two classes of order items, those that have course IDs and those that don't.  The first category includes things like Verified Certs, Paid Courses, and (some) Donations.  The latter includes everything else.  I suspect that down the road we're going to want to disagregate purchase events for these types.  For this reason, it might make sense to define SKUs that include something about the order type in addition to the course ID.