Adds NAndGate, NOrGate and NXorGate and implements them.

Adds new convenience constructors in AndGate, OrGate and XOrGate