Simple generic list implementation. (push_back, push_front,...) read the header file for more details.