Implement in Rust with `cargo run`

For more information on running, read `rust/README.md`

Current Implementation:

```
$ diff ../files/expected.txt <(cargo run < ../files/history.txt)
0a1,2
>    Compiling noodle v0.0.1 (file:///Users/Sean/src/noodle/rust)
>      Running `target/noodle`
7d8
< rm: 1 times
8a10
> rm: 1 times
```

```
$ cargo run < ../files/history.txt
     Running `target/noodle`
git: 9 times
vim: 4 times
nano: 2 times
killall: 1 times
screen: 1 times
pgrep: 1 times
be: 1 times
rm: 1 times
```

```
$ cat ../files/expected.txt 
git: 9 times
vim: 4 times
nano: 2 times
killall: 1 times
screen: 1 times
pgrep: 1 times
rm: 1 times
be: 1 times
```
I've put them on one line, but I can't remove the `{ }`

```
   Compiling noodle v0.0.1 (file:///Users/Sean/src/noodle/rust)
/Users/Sean/src/noodle/rust/src/lib.rs:29:9: 32:10 error: match arms have incompatible types: expected `&mut uint`, found `()` (expected &-ptr, found ())
/Users/Sean/src/noodle/rust/src/lib.rs:29         match command_count.entry(*command) {
/Users/Sean/src/noodle/rust/src/lib.rs:30             Vacant(entry) => entry.set(1),
/Users/Sean/src/noodle/rust/src/lib.rs:31             Occupied(mut entry) => *entry.get_mut() += 1,
/Users/Sean/src/noodle/rust/src/lib.rs:32         }
/Users/Sean/src/noodle/rust/src/lib.rs:31:36: 31:57 note: match arm with an incompatible type
/Users/Sean/src/noodle/rust/src/lib.rs:31             Occupied(mut entry) => *entry.get_mut() += 1,
                                                                             ^~~~~~~~~~~~~~~~~~~~~
/Users/Sean/src/noodle/rust/src/lib.rs:29:9: 32:10 error: match arms have incompatible types: expected `&mut uint`, found `()` (expected &-ptr, found ())
/Users/Sean/src/noodle/rust/src/lib.rs:29         match command_count.entry(*command) {
/Users/Sean/src/noodle/rust/src/lib.rs:30             Vacant(entry) => entry.set(1),
/Users/Sean/src/noodle/rust/src/lib.rs:31             Occupied(mut entry) => *entry.get_mut() += 1,
/Users/Sean/src/noodle/rust/src/lib.rs:32         }
/Users/Sean/src/noodle/rust/src/lib.rs:31:36: 31:57 note: match arm with an incompatible type
/Users/Sean/src/noodle/rust/src/lib.rs:31             Occupied(mut entry) => *entry.get_mut() += 1,
                                                                             ^~~~~~~~~~~~~~~~~~~~~
```