added an implementation for ConsList (an immutable single linked list)
added collectFirst() to ConsList and added Nullable
tweaked collect first match on ConsList