Templated SoftLeptonTagInfo + PAT support for CandSoftLeptonTagInfo

SoftLeptonTagInfo has been templated to support candidate-based SoftLeptonTagInfo. This will allow the existing soft lepton taggers to fully support MiniAOD. The PAT support for CandSoftLeptonTagInfo has also been included.

The code changes implemented in this PR should be completely transparent to the standard reconstruction. The attached plots show the performance of the existing soft muon and soft electron taggers before and after the changes.

**SET (soft electron tagger)**
![performance_set](https://cloud.githubusercontent.com/assets/4885289/5050709/78012912-6bfe-11e4-9a8f-39df28863751.png)

**SMT (soft muon tagger)**
![performance_smt](https://cloud.githubusercontent.com/assets/4885289/5050712/7fbc57a8-6bfe-11e4-8675-05036abdac6a.png)

I'm not sure why not all header files were inside `interface/`. I cleaned up a bit more but I still kept the header and .cc files separate. I hope things are in an acceptable shape now.