Start refactoring Parameter, Option, and Interface

Refactoring core classes to support option actions and long names separate from Parameter names (e.g. so that we can support existing QIIME option names).  Things are currently broken.
Refactor InterfaceResult and subclass

Much simpler, required fields are now well-defined.
Fix OptparseOption.getOptparseOption

Now respects InputAction
make_bash_completion works again
Fix make_command
Fix make_optparse
Change OptparseResult.Option to OptionName.

Now we don't need messy indexing into ```inputs```.
Fix unit tests
Remove outdated qiime driver

Fixes #115
Fix DataType docstring to be clearer
Merge pull request #120 from jrrideout/death-march

:hammer: