Tracking (e.g. mixpanel, but agnostic.)

- First, set ab.register as a function that takes an object and
  registers it to whatever service e.g mixpanel.register_once)

- When using ab.set, give an option a register attribute:

  If it is a string, the registered object will be of form { color: 'green'}
    {
        value: 'green'
        share: (100/3)
        register: 'color'
    },

  If it is an object, that object will be registered
        {
            value: 'white'
            share: (100/3)
            register:
                'color' : 'a'
        },