3901: improve component rendering error reports

The "Components" tab on the /pipeline_instances page now includes the
error that was encountered, and a collapsed panel with the full backtrace.
3901: allow job to be either Hash or Job

Refactoring to ensure that a component "job" data structure may either
be a Hash (parsed directly from the component's JSON representation) or
a real Job object retrieved from the database.

When rendering a pipeline, parse the :started_at and :finished_at
timestamp fields, respectively, if necessary.
Merge branch 'master' into 3901-component-rendering-errors
3901: added unit test for pipeline rendering
Merge branch 'master' into 3901-component-rendering-errors

Conflicts:
	apps/workbench/app/helpers/pipeline_instances_helper.rb
Merge branch '3901-component-rendering-errors'

Refs #3901.