Fix typo in RunPort#value_is_text? documentation.

This method returns a boolean value but the docs said string instead.
Add RunPort#value_is_error? method.
[TAV-483] Fix getting error values from deep values.

The method to do this wasn't properly mangling the filename for error outputs.
Refactor RunsController#output for new RunPort code.

This method became mostly obsolete as more and more functionality moved into the
model. This refactor addresses that to give a cleaner controller and improve
code reuse.