change sync all, now syncs array

The check for the diffs was not necessary as readAll parses back an
empty array (and it would throw on the .length check before that).
Added ability to pass in array to sync.  Added unit test