move `command.rs` into `command/program.rs`

Name should be changed later.
move `gumsh/command.rs` to `gumsh/command/mod.rs`, pubify cratefile.
rename `program.rs` to `invocation.rs`, rename type, make #new a module method
cleanup main.rs
Refactor 'command' structure to admit abstract approach

To wit, there will be many objects which adhere to the 'command' trait, which
specifies a ::run() method.