Added support for normally-closed switches, rather than having two outputs on all switches.  Added an inverter.  Added more test cases, including Petzold's cat detector.  Lots of cleanup, including adding ToString()s, making sure values always propagate, and adding connection support into Node.