.maps(): respect ecommerce mappings
add .channels(arr) assertion
add .option(name, meta)
allow chaining with .option(), .channels()
add .requires()
.channels(): sort to remove annoying errors
.validate(): now a static method.
option(), clone option before comparing
settings: dont pass settings to methods
remove option(), requires(), .enabled() and add .ensure()
.ensure(): fix typo
.ensure(): add more tests
.ensure(): add more tests
maps(): map ecommerce events correctly
validations: move to array
.fixture(): clone
.end(): pass response back