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.

Did you forget to do your usual l = expectedProperties.length?