ReplacementDict: add .fromstring static method

This takes care of parsing a string into Python literals, so that
consumers can just pass in a string and don't have to worry about
dealing directly with evaluating Python code.
Migrate certain unit variables to passVars in new chains

Certain chains need to be able to inherit passVars set in previous
chains. An example of this is identification, where a second pass of
identification happens after extraction during the transfer; the
previous choice made needs to be able to apply.

Unit variables with the variable name 'replacementDict' will now have
their values included into passVars at the creation of every subsequent
chain in the unit.