Implementation of a "linked list" data structure. A linked list is a data structure where each value/data is stored in a separate block of memory, termed a link/node. In addition to a value, each link contains a reference to the next link in sequence. The structure allows elements to be added, removed and reversed. Test cases are provided.