get rid of possible error caused by normal python division operator (alternative was to use //)
impose record size limit, fix 1-off file counting error, clean up buffer management
tell user if record size is being limited