Adds list_peek_current to struct list.

list_peek_current returns the current element in the iteration, without
advancing to the next element, as list_next_item does.

This pull request supersedes #247, with:

list_current_item -> list_peek_current
list_advance_iterator -> list_next_item, ignoring the value returned.