Refactor run and _get_run_input

* DXExecutable no longer implements _get_run_input. A new helper method
  that translates the fields common to app/applet/workflow is
  provided (as a static method on DXExecutable).

* DXExecutable.run defers to _run_impl to actually do the run.
  Subclasses must implement this method and return an appropriate
  handler object.