Reverse a linked list in place, finding start of loop on linked list with cycle