First implementation of 16-bit encoding for floats

Start addressing issue #29. Encode phi in the pec::Candidate. Getter
works correctly with FWLite.
Add a draft implementation of transformation for generic signed
floating-point numbers

First implementation of 16-bit floats as discussed in issue #29. The
code has been tested manually and seems to behave reasonably.
Change transformation functions to/from generic minifloats to templates

This allows an optimisation at compile time. Too bad cannot have
floating-point non-type template arguments.
Add a special encoding for unsigned floating-point numbers
Convert remaining fields in pec::Candidate to minifloats

First usage of generic 16-bit floats. I have verified that the
conversion gives reasonable results. This addresses issue #29.
Add support for subnormal 16-bit floats

I have tested the algorithms locally.
Adjust parameters for 16-bit floats in pec::Candidate

The change is needed after the previous commit when the support for
subnormal 16-bit floats was added.
Fix a bug of overflowing exponent in minifloats

If a value is larger than the largest representable value but exceeds
it less than an order of magnitude, it used to be encoded incorrectly.
Add a special handling of negative numbers encoded as unsigned 16-bit
floats

They are represented with zeros. It is better than silently converting
them to a generic undefined value.
Improve documentation for minifloats
Guard against a rare overflow in minifloats
Convert data members in pec::Jet to minifloats

Also changed parameters in pec::Candidate::mass to be consistent with
pec::Jet::secVertexMass. I have compared converted data members to
original ones. There are some differences caused by range clipping (in
TCHP and secVertexMass) and small shifts in a single jet (looks like
that) in pt and phi, presumably, due to rounding errors. Overall, looks
fine.

This addresses issue #29.
Modify conversions for fix-range minifloats

Now have separate converters for a periodic and a staight range.
Convert remaining classes to minifloats

Affects muons, electrons, generator and pile-up information. I have
checked the changes against a version with no minifloats. See some minor
changes in lepton dB. Probably, they need a further investigation.

This addresses issue #29.