Implement expand

Implementation of expand, closes #127.
This would be better as:
```rust
let files =
    if matches.free.is_empty() {
        vec!("-".to_string())
    } else {
        matches.free
    };
```