added changesManager and sperate underscore mixins
added tests for syncroOps and changed all push, pull to pushAll, pullAll

now we are using TxModel#push,TxModel#pull which works as pushAll and
pullAll

ex:
a = new TxModel({names: ['ihab']})
a.push('names', 'ahmed')
a.get('names')
>>["ihab", "ahmed"]
a.push('names', ['metoo', 'khaled'])
a.get('names')
>>["ihab", "ahmed", "metoo", "khaled"]
a.push('names', [['dosht']])
a.get('names')
>>["ihab", "ahmed", "metoo", "khaled", ["dosht"]]
Update compiled target
Merge branch 'master' of github.com:ikhattab/syncro.js

Fix Conflicts:
	src/syncro-ops.coffee
	src/syncro-sync.coffee
	src/tx-model.coffee
	tests/specs-coffee/TxModel_SyncroHandler_spec.coffee