Fix one compile error
Re-implement ImmutableLinkedList using Guava's ForwardingList

Mamma mia, was the previous code a total mess.