sync function is a standlone entity, not in a design document
return a hash of the sync function source so that sync clients can resync from zero if the definition changes
changes based on code review from @snej