An ExecType is selected based off the Properties for the given script.
There may be multiple settings that trigger the selection of a given
ExecType. For example, distributed MR mode is currently triggered if the
user specifies "mapred" or "mapreduce". It is desirable to override the
toString method of the given ExecType to uniquely identify the ExecType.
The initialize method should return true if it accepts the properties or
false if it does not. The Java ServiceLoader framework will be used to
iterate through and select the correct ExecType.
An ExecType is classified as local if it runs in-process and through the
local filesystem. While an ExecutionEngine may have a more nuanced notion
of local mode, these are the qualifications Pig requires.
ExecutionEngines can extend the ExecType interface to additionally
differentiate between ExecTypes as necessary.