added map2 and flatMap2
added firstOfTwo and secondOfTwo helpers functions that return one of it's parameters
restructure Promises, regular Promises now have only one Parameter, Generic ones (PromiseG) have a typed instead of a dynamic failure type
add toLowerCase and toUpperCase
apply Promise changes
each now returns the constructed Stream, apply Promise changes