Add tests and implementations

Tests:
    add(), addFirst(), addLast()
Implementations:
    add(), addLast(), get(), getLast()
    listIsEmpty(), indexIsValid(), getLastNode()