Bash completion is back

This is a follow up to #89. I added Bash completion support to `t` a year ago, the code was removed a few months after because it was causing a problem when doing `rake`. It’s fixed and is back now. This is roughly the same code with a few improvements, and support for options that take a fixed set of arguments (i.e. that have a non-nil `:enum` attribute).