JetCorrector in Event

At the request of David Lange @davidlange6 I implemented a solution to the consumes problem with JetCorrector. 

Previously, ```JetCorrector``` was an EventSetup object yet to do its work it had member functions which took the ```edm::Event``` as a parameter. Given that the JetCorrector was doing 'hidden' gets from the Event it meant any module using the ```JetCorrector``` was unable to make all the necessary ```consumes``` calls.

This implementation avoids the ```consumes``` problem by having a new ```reco::JetCorrector``` which is an Event product. Therefore the module which makes the ```reco::JetCorrector``` can do the needed gets from the Event and knows which ```consumes``` calls are needed. This also simplifies the use of ```reco::JetCorrector``` since users no longer have to pass a ```edm::Event``` and ```edm::EventSetup``` to the methods of the class.