Send transaction

Adding a sendTransaction method, which handles the **ecommerce** plugin side of our analytics logging.

The approach I took was to make it easy for developers to add this information, and the method ensures the calls are formatted correctly with:
- the correct transaction ID for both the transaction and the items
- required fields are validated
- parameters are stringified

It also ensures that if errors occur, the user is given immediate feedback via error messages.

Status: **Ready to merge**

Reviewers: @tedtate @donnielrt @ericmuyser 
JIRA: https://mobify.atlassian.net/browse/CSOPS-852

## Changes
- added sendTransaction method
- added __validateObjectSchema method
- added __stringifyPropertyValues method
- added unit tests

## How to test-drive this PR
- checkout this branch
- run `grunt test`
- integrate into project that has ecommerce:addTransaction and ecommerce:addItem already, and ensure this works.

Man it's crazy to me that GA wouldn't validate required parameters. I double checked and it seems like you are indeed right about that:

![2014-11-21 01 13 58 pm](https://cloud.githubusercontent.com/assets/81582/5149729/856f6348-7180-11e4-84d0-69325e75531a.png)

I'd move towards being more onboard with this change given this fact!