Update LinkedList.h

Revised whole file, fixing typos such as that in "void prev() {node = node->successor}", and simplifying methods such as destructor (wherein we changed end-condition to include previous "delete end" statement.).

Note that "start(end)" in initializer list doesn't seem to set start to be the same as end (?why? I don't understand initializer lists very well??); so we just initialized "start" in the body.

Also, major change: problem with old "append(list)" --- see comments --- so renamed to "join" and created a slower version --- "append" --- that works by copying whole list.