Add an Iterator.join() method

This is a little method I found useful in ```ruby```. It converts the elements in a collection into strings and joins these strings seperated with some seperator string.

eg:

```rust
let a = vec![1u, 2, 3];
assert_eq!(a.iter().join(" and "), "1 and 2 and 3");
```
Is there a reason why you wrote `String::from_str(elem.to_string().as_slice())` instead of `elem.to_string()`?