list: Remove const specifier from struct pointers

Since we can't protect the const-ness of linked data structures in C
anyway, the const specifier doesn't really say much.
list: Remove _gcl_list_begin() and _gcl_list_end() macros
list: Remove superfluous _T element in end node