implements a unified command-line interface

This pull request implements a unified command-line interface similar to conda or git, and based heavily on the implementation in conda. To use:

```
$ hexrd help
$ hexrd gui
$ hexrd help indexing
$ hexrd indexing -f foo.yml
$ hexrd grains -h
$ hexrd grains -f -q foo.yml
```