DList head/tail -> headOption/tailOption

Removed unsafe head/tail, changed to headOption/tailOption. 
This is mostly so I can figure out how to send a PR.