fifo: Add generation source file

This adds a source file that was used to generate the FIFO module.
If you want to run a simulation, you'll need this file.
nand_fifo: Fix initialization problem for FIFO draining

The fifo_drain_state variable was uninitialized, which was causing
weirdness with the initialization of this register.  It now gets
initialized to 0.
nand_fifo: Fix WE detection

There were some timing errors with respect to grabbing the WE signal.
This should fix them.