A template class implementing a doubly linked list. This can be used to provide an arbitrary linked list of any type, which also has a built-in iterator.