Kahansum

Implements http://rosettacode.org/wiki/Kahan_summation
Maybe you could check at the beginning of the function whether the list is empty. This way you don't need to mess with `Options`. What do you think?

```
if lst.len() == 0 { return None }

let mut max = lst[0];

// We use & to pattern match on the value returned by the iterator and dereference it
for &i in lst.iter().skip(1) {
    if i > max {
        max = i;
    }
}
```

If the numbers were integers (or any object implementing the `Ord` trait, we could use `lst.iter().max()`). However, floating point numbers don't form a total order.