It was noted that we did not increment the return value bufflen when
adding zero. This is an ambiguity in the function declaration; if we
are told to add a zero should the return value be like strnlen (does not
include terminating null character) or read (includes all bytes used in
return buffer).
This PR makes it a non-issue by ensuring string null termination in the
caller and removing the append_zero parameter.
Checks for the highest cell for 15 seconds and then reduces the cell voltage calls to cover only those cells that actually exist
also renames SMBus _last_cell_update_us