Added substring, first, and last String functions
Implemented join, specialized operation for reducing elements to a String.
Renamed no.motif.option package to no.motif.single
Possible to retrieve indexed elements
Implemented equals, hashcode, and toString on Optional