Speculation had not actually permitted speculation.  This was because there was still an un-speculated write-write conflict on each switch's flow table.  This commit removes that write-write conflict by permitting speculation.  However, it creates a deadlock in speculation test that I now must debug.
Speculating on copy of internal data instead of data itself prevents having changes in speculation affect changes of object being speculated on.