str: Implement FromIterator for ~str

Allow collecting iterators with element type of char, &str, ~str, or
@str into a ~str with IteratorUtil .collect()

Leaving out the case of Iterator<u8> as that is probably handled better
explicitly since it needs error handling.