Make consumes call check if edm::InputTag is empty

Previously, passing an empty edm::InputTag to consumes would make the framework think you did a consumesMany (since internally an empty tag is used for that purpose). This change makes an empty tag passed to consumes behave the same way as if you had a tag for a non-existent label.
Fix issue introduced by pythia8 migration
Merge pull request #2159 from ktf/fix-pythia8

Generator fixes -- Change SoftQCD::minBias to SoftQCD::nonDiffactive as requested by new pythia8.
Merge pull request #2142 from Dr15Jones/fixUseOfEmptyInputTagWithConsumes

Framework fixes -- Make consumes call check if edm::InputTag is empty
Merge remote branch 'origin/CMSSW_7_1_X' into CMSSW_7_0_X