RFC dlist: A new implementation of an owned doubly-linked list
dlist: Implement size_hint properly for all iterators
dlist: Introduce a struct Rawlink mimicing Option<T> for a raw pointer

Rawlink<T> holds a *mut T pointer and can convert itself to Option<&mut T>.
The null pointer is of course None.
dlist: Collect a common pattern into node_set_prev()
dlist: Remove redundant &* on pointer
dlist: Put all tests into a tests module

The exception is the function check_links which needs access to struct
Node (which is not pub).