Longest nonrepeating substring

added algorithm to strings module for finding the longest non-repeating-character substring. (without using enumerables)
ive added error handling for upcase letters and non-alphabetical characters, although i feel like implementing this made the method more soupy.