Adds a separate analysis_tool_t::initialize() method to better handle tool initialization that can fail, separating it out from the constructor. This simplifies subclassing as well.
Updates the view_t and opcode_mix_t tools to move their module mapping and other code into initialize(). Leaves updating the simulator tools for future work.
Changes raw2trace_directory_t to return error strings instead of aborting the process, and splits its constructor from new initialize() and initialize_module_file() methods.
Fixes #3106 (closed)