Initial install commit.

What works:
-simple file to file destination install
-multiple files to folder destination install
- -t flag
- partially -m flag, right now accepts mode only on form [ugoa]+[+-=][rwx]+, but in current state should be relatively easy to expand

Any feedback is welcome, some parts of the code are ugly even for me.
`match` isn't really needed here.  A simple `if` would suffice:
```rust
if free.len() <= 1 {
    show_error!("Missing TARGET argument.  Try --help.");
    return 1;
} else {
    let tmp = free.pop();
    Path::new(tmp.unwrap())
}
```

Note that I used `show_error!` from `common/util.rs`.  I suggest that you use this as well.