libcommhistory offset vs limit

libcommhistory is a jumbled mess. because of the way it calculates offset/limit, it appears that tying offset to rowcount is actually more dangerous than tying offset to limit.