various improvements to custom analyses

1.  We now support input & output trees.
2.  We now properly handle multiple outputs from a single custom analysis.
3.  Use the "pretty" title as opposed to the code variable name when
asking the user to set a parameter.
Merge branch 'improve_custom_analysis'

* improve_custom_analysis:
  various improvements to custom analyses