Cache calls to collection.size

`col.size` was called twice for each record in each collection when
displaying the progress.

For larger collections this leads to huge performance hits when syncing
most often ending up in timeouts.
Merge pull request #2 from joeljunstrom/memoize-collection-counts

Cache calls to collection.size