Prototype Dlist rewrite with cursor

Came here for the `Cursor` trait :P. I figured you might have just gone straight for the concrete implementation first though.