Initial parallel implementation.

- Add divide operation for Monomials.

- Added unit tests and benchmarks for parallel execution
Bug fixes for composes and random function gen
comment out benchmarking tests
Implemented more efficient serial compose.

- Removed code that tried to optimize product computation since optimizing is more expensive than bad computation.

- Updated tests to handle new cases.
Merge branch 'feature/parallel-execution' of github.com:kryptnostic/fhe-core into feature/parallel-execution

* 'feature/parallel-execution' of github.com:kryptnostic/fhe-core:
  comment out benchmarking tests
Clean up unneeded code.
Pipeline generation and tests.

- Implemented MVQ function pipeline generation and associated tests.

- Cleaned up some unneeded files.

- Cleaned evaluation of monomials.
Re-enabled random linear combinations as input vector space for pipeline tests
Fixed bug with function concatentation routine.

- Consolidated unnecessary compose in function pipeline stage

- Added unit tests for function concatentation routine.

- Simplified polynomial pipeline generation

- Added test for unit pipeline.
Implemented basic parameterized functions.

Parameterized functions are derived from PolynomialFunctionGF2 and can generally be used interchangeably. To avoid
having to use reflection all the time I added an indicator function to the SimplePolynomialFunction interface.

Unfortunately, this requires exposing implementing class behaviors to external classes as the pipeline must be
preserved across operations. We should probably give this some design love once everything is working.

- Encrypt/Decrypt working

- Added support for extending monomials when dealing with parameterized functions.

- Varargs concatenate support on 64 bit boundaries

- Static factory method for XORing parameterized contributions
wrote tests for multivariate learning, stubbed out method.
wrote generate monomials private method
Implement monomial generation in Monomial class, unit testing
Fixed issues with XOR and parameterized functions

This fixes a significant number of issues blocking fully working homomorphic functions.  There's still some work to do adding unit tests
for binary versions of the functions, cleaning up some commented code, and optimizing compose.

- Fixed bug in extension routine in Monomial class. Still needs some love to make sure bounds checks are respected.

- Modified private key to no longer use hacky parameterization static factory.

- Added unary and test back in.
Do not include empty monomial
first pass at completed learnInverse method
clean up learnInverse test
clean up learnInverse tests
refactor learnInverse to leverage FunctionUtils
remove unneeded pseudocode