I tried to make line_count  immutable but I struggled :\

Also I was thinking about the task that `obsolete` is doing. I don't like that it's mutating options and returning line count. It feels dirty.

1. I could only mutate options
  1.1 In that case I would need to append a `-n 123` in case `-123` is passed. Not cool imo.
2. Just return line_count from obsolete.
  2.1 I still need to check if `-n` was passed

In the case of using obsolete `None` I thought about matching the options there.
```rust
let line_count = match obsolete(&options){
   Some(c) => { c },
   None => {
       given_options = match getops(...) {
           Some(m) => m
           Err() ....
       }

       match given_options {
             // and so on...
       }
   }
}
```

Problem is that I still need to `getopts` to get the files, and in case `match obsolete` fell in `Some`, that's saying that options still have an unrecognized option.

Also, I feel that empty match arms are a symptom of something. Having 1 empty arm might be fine, but 3?