Add solution and tests for challenge 4
Minor whitespace fix per Rust's style guidelines

https://github.com/rust-lang/rust-guidelines/blob/master/style/whitespace.md