fixed length counting in list.c

Several list_push and list_pop functions weren't incrementing or
decrementing list.length as appropriate