BREAKING CHANGES: Adding ability to call multiple mutators on a single property

BREAKING CHANGES:
the mutator prefix is now `$$\w+$$`
underscores are no longer allowed in mutator names
multiple mutators can be specified in the mutator prefix separated by an `_`
greedy mutators can be added to always be run onPropAdd and onPropRemove
the mutator prefix is always removed regardless if there is a mutator attached or not
```javascript
// prefix change
{ __mutator_prop : 1 } => { $$mutator$$ : 1 }
// multiple mutators
{ $$mutate1_mutate2$$ : 1 }
// greedy mutators
addMutator({ greedy : true })
// prefix removed when attached to an object
$$abc$$prop : 1 => prop : 1
```