Securesync: Updating logic for collecting models to send over the wire (#631)

This is dependent on #748 and #749, and solves issue #631.  You can view diff immediately via:
https://github.com/bcipolli/ka-lite/compare/counters_at_sync...issue631?expand=1

This vastly simplifies, and makes more robust, the looping logic over models.  Collects up to [limit] models to send over the wire, then send them.  Usually limit=100, so the variability behind #631 (and similar items) will go away, making debugging much easier, and making data transfers over the wire more consistent.

It also modifies code where the methods suggest object persistence, but are in fact reset like local variables (using member variables in a very similar way to local variables).  This makes the behavior of the code more straightforward / readable for the current use of the code.

Testing:
This was tested from the distributed server side, for syncing new models only.

Notes:
* @jamalex: This is all you!  I suggest testing this one directly, rather than #748, #749, and this separately.  So let's target merging by the end of next weekend!