Made generate() a little faster by only calling neighbors when needed.
Implemented the full diode pattern in the diode.dat file
Added the ability to negate a rule with ~, so that the transition occurs
if the neighbors != a given list of counts