Adding C++11 style namespaces on enums

Using the enum name is optional, but greatly enhance clarity.
Add additional variables to CutLevel.h

These new variables will be used by the weight vector in the tuples.
Add weight vector to ZDefinitionTree

Instead of having two hardcoded weight fields, ZDefinitionTree now has a
variable size array that is filled. The new "total weight" is the
product of all the weights in the array.
Fix bug in fabs(ETA) bug in EfficiencyTable

Eta symmetry is assumed in the construction of the scale factor tables
that are stored in EfficiencyTable, but EfficiencyTable was not using
fabs(eta) when looking up efficiencies. This lead to all lookups of
points with a negative value of eta failing, and hence leaving their
scale factors set to 1.

fabs(eta) is now used, and a warning is printed if a row with negative
eta values is inserted into the table.