Delay EventSetup proxy not found exception

Change the behavior after a call to EventSetupRecord::get
that fails because the Proxy could not be found (no
ESSource or ESProducer was configured to produce the
data). Previously an exception was immediately
thrown in the get function. Now the exception
throw is delayed until the ESHandle is dereferenced.

Note the throw when the record cannot be found
is unchanged and still immediate.

This also includes changes to code that uses the
EventSetup whose behavior is affected by this.
This would be code using try-catch around the
get call and dereferencing the handle
outside the try block. Note that I fixed
all user code catching NoProxyExceptions and
also the problems showing up in the runTheMatrix
tests, but it is possible I missed other cases
where a cms::Exception or ... were caught.
Merge pull request #4035 from wddgit/eventSetupExceptions72X

Event setup exceptions.