Don't force users to allocate or to maintain a reference; take the Reader by-value
Make README example compilable under current Rust
Use std::mem::replace to avoid an extra copy on extract_row
Use debug! instead of println! for debug logging

This makes the module actually usable on real-world programs without interfering on the output.
To enable the output, just run the executable with the env variable `RUST_LOG=csv`. For more
information, check out the docs for the `log` crate: http://static.rust-lang.org/doc/master/log/index.html