Patch attached. Note one slight potential drawback, is that now both tomcat7:run & tomcat7:run-war will check for the default META-INF/context.xml if contextFile is not explicitly configured (and use that file), however neither will report anything if that file is not present (as it doesn't need to be). In the past only tomcat7:run-war checks for that file if contextFile is not set.
This patch fixes the exception because now if META-INF/context.xml is not present (and contextFile not explicitly configured for another file), no file is sent to Tomcat and hence the latter will use whatever context defaults it uses. However, if you explicitly configure any file via contextFile that doesn't exist Tomcat will continue to throw a File Not Found exception (as it should), alerting the developer to the problem.
Unrelated issue fixed, in AbstractRunWarMojo the @Parameter property "maven.tomcat.warDirectory" was not defined, making users unable to provide a setting via the CLI -Dmaven.tomcat.warDirectory option (although it is defined in that class' parent AbstractRunMojo, I've found there's no inheritance of individual @Parameter values, just the @Parameter tag itself.)