Fix data-type of plan_json parameter
Rename ReportGenerator to GenerateReport

Commands should be named like verbs not nouns.
GenerateReports takes provider_json instead of translations

Since we plan to create a SoftwareResult for this command, and a HASH
type input cannot be a SoftwareResult::Param, and provider_json is
already an input to all of the Expert adaptors, it seemed like it makes
sense to just use provider_json.
SoftwareResultify GenerateReport
Create and use Genome::Command::DelegatesToResult

This just defines a shortcut and execute that delegates the real work to
the 'result_class' and does some logging.
Store the got/created SoftwareResult on the Command
Fix Debug statement formatting
Allow automatic creation of SR::Users and add tests
Deduplicate shortcut and execute
Remove 1; from inline package declarations
Don't import Memoize's stuff into our namespace
Use Try::Tiny instead of eval
Use LIST_CACHE => 'MERGE' for memoized functions
Make sure Memoized is used.
Since this subroutine returns a list, we need to modify the SCALAR_CACHE
Another case where we need to modify the SCALAR_CACHE
Expect post_get_or_create to return undef on failure
Pull returns out of branches
Use $pkg instead of spelling it out again
Make output_directory no longer an output