Update option parsing

Option order is now similar to grep where pattern comes before file. Support
for --pattern and --file has been added to avoid the need to remember order.

Shows usage information when run without a pattern and a file.

Fixes #4
Add --context and --committish options

Fixes #1