C4ObjectList: Make First/Last private, change all the linked list copy pasta into for (x : list) form
Put non-bool conditions in brackets as clang suggests
Remove many unused variables