rewrite simple-linked-list in Haskell and Ruby

per #643 I rewrote the readme and code for simple-linked-list to match how they're used in practice (as a persistent data structure in functional programming languages).

Let me know how this looks to you, especially the Ruby because I have no expertise there. I think we can probably drop the linked-list exercise altogether, I can't think of a great excuse to have a mutable singly-linked list. The only alternative I can think of would be to replace the linked-list exercise with a doubly-linked-list implementation of a deque… which is a practical data structure, although you'd have a hard time implementing it sanely in Elixir without doing some ugly stuff in ets tables.