Fix failing test test/unit/workflows/test_extract_summary.py.
Move galaxy.dataset_collections.util to galaxy.managers.collections_util to prevent circular dependency error.
Still some problems with histories and hda managers when loading from unit tests:

======================================================================
ERROR: Failure: ImportError (cannot import name histories)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/john/workspace/lwr/.venv/local/lib/python2.7/site-packages/nose/loader.py", line 414, in loadTestsFromName
    addr.filename, addr.module)
  File "/home/john/workspace/lwr/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/john/workspace/lwr/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/john/workspace/galaxy-central/test/unit/workflows/test_workflow_run_request.py", line 4, in <module>
    from galaxy.workflow import run_request
  File "/home/john/workspace/galaxy-central/lib/galaxy/workflow/run_request.py", line 4, in <module>
    import galaxy.managers.histories
  File "/home/john/workspace/galaxy-central/lib/galaxy/managers/histories.py", line 12, in <module>
    import galaxy.managers.hdas
  File "/home/john/workspace/galaxy-central/lib/galaxy/managers/hdas.py", line 11, in <module>
    from galaxy.managers import histories as history_manager
ImportError: cannot import name histories
Extract all the workflow run API param handling out...
This should allow for the reuse of all of this in asynchronous workflow running and make unit testing of all the different paths easier (though that is not included in this commit - the API functional test coverage for this code is pretty decent at this point).
Hack to get around circular dependency by histories and hdas manager modules.
    ======================================================================
    ERROR: Failure: ImportError (cannot import name histories)
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/john/workspace/lwr/.venv/local/lib/python2.7/site-packages/nose/loader.py", line 414, in loadTestsFromName
        addr.filename, addr.module)
      File "/home/john/workspace/lwr/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
        return self.importFromDir(dir_path, fqname)
      File "/home/john/workspace/lwr/.venv/local/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
        mod = load_module(part_fqname, fh, filename, desc)
      File "/home/john/workspace/galaxy-central/test/unit/workflows/test_workflow_run_request.py", line 4, in <module>
        from galaxy.workflow import run_request
      File "/home/john/workspace/galaxy-central/lib/galaxy/workflow/run_request.py", line 4, in <module>
        import galaxy.managers.histories
      File "/home/john/workspace/galaxy-central/lib/galaxy/managers/histories.py", line 12, in <module>
        import galaxy.managers.hdas
      File "/home/john/workspace/galaxy-central/lib/galaxy/managers/hdas.py", line 11, in <module>
        from galaxy.managers import histories as history_manager
    ImportError: cannot import name histories
Cleanup repeated dictionary access in build_workflow_run_config, better error handling.
Change 'hda' input name in workflow inputs dict to 'content'...
... 'content' better reflects that this can be either an HDA or an HDCA.
Normalize workflow step parameters earlier...
... this will allow linking to actual steps (referential integrity) if/when we store workflow requests in the database.

Also unit tests.
Normalize workflow input dataset dict earlier...
... this will allow linking to actual steps (referential integrity) if/when we store workflow requests in the database and failing faster.

Also more unit tests.
Move WorkflowConfig so run_request doesn't need to import run.
This is a more logical organization of these modules.