Feature/homomorphic search

Make the variables PolynomialFunctionRepresentationGF2 protected and re-use them so we're consistent across all derived classes and only need to make changes in one location.