SigmaPi Layer

Add an implementation for SigmaPi layers that integrated higher-order nodes into a deep neural network.

* Add Gradient TestCases to TestSuite
* Add Layer- and Constraint implementation for higher-order neural layers
* Some refactoring commits already applied to master (cherry-picked from master)