Merge pull request #117 from jrrideout/death-march

Unit tests all pass
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```.