New btag framework

First set of b-tag framework changes to allow b-tagging based on pf candidates as well as on tracks (standard approach).
Announced here: https://twiki.cern.ch/twiki/bin/viewauth/CMS/CMSSW_7_2_0
Presentation: https://indico.cern.ch/event/322860/session/1/contribution/18/material/slides/0.pdf
 
The plot attached shows the performance of the CSV tagger in 4 cases:
1) default: black circles -> performance of CSV before the framework changes
2) templated CSV: blue crosses -> performance of CSV after the framework changes using templates and tracks 
The performance is exactly the same for those two cases, which is what we want!
3) pf cands: red stars -> performance of CSV with pf candidates resulting 
-> proof that the new implementation works also on pf candidates
4) trk cands: green stars -> performance of CSV using track candidates 
-> recover of performance loss that we had compared to 3)
As an easier solution, I can suggest to create a new TemplatedSecondaryVertex.h and move all the template stuff there and keep only the template instantiation here to the SecondaryVertex typename