Dataset collections - workflows - allow implicit mapping steps.

While running a workflow, if a data tool parameter is encountered with a dataset collection as input - run N jobs and create a dataset collection for each of the outputs (similar functionality added for tools in previous changeset). These collections are then used in subsequent steps while connecting steps so the parallelization continues as does the creation of dataset collections.

Much and more remains to be done and tested - chief among these concerns I think is that in order to test this I needed to hand modify a workflow json file. The ability to use this feature should be encorporated into the editor and the interface/controller for extracting a workflow from a history.
Dataset collections - workflows - implicit "reduce" steps.
WIP: Dataset collections - workflows - implement extracting from history.

Display user created dataset collections as inputs. Find implicit mapping steps creating dataset collections and replace all individuals steps with mapping steps in UI and in generated workflow.

This commit works sortof - but needs significant cleanup - at very least it should be modified to work imported histories and the the code should be significantly refactored to clean things up. get_job_dict should return an object of some sort instead of a 4-tuple.
HACK: Modify contents type on index, need to remove at some point.

Need to find a way to make backbone do this.
Dataset collections - create lists and pairs via HDA multi-select.
Dataset collections - backbone model for history content.
More reworking of backbone views to allow multiple content types.
Dataset collections - backbone view for history content.
Dataset collections - workflows - handle data_collection params in editor.
Dataset collections - workflows - handle implicit map/reduce in editor.

Track which inputs are multi-run on each tool - if any are - update all outputs to likewise by multi-run and propage. Fixup can_accept logic for matching data collection inputs and multi-run outputs to inputs. Allow implicit dataset collection reduction steps when connecting a multi-run output or dataset collection input step to a multiple input data parameter.
Dataset collections - workflow editor UI display different connector for implicit map steps.