API change: make `value._diff` an array of splice operations
batch changes with `list.transaction`
transaction: operate on mutable array then diff to internal obs._list
fix readme typo
Merge pull request #11 from Raynos/transactions

add transaction support