- Enable assertions (I realized verilator doesn't do that by default)
- Fix a few assertions that were converted incorrectly
- Fix a bug introduced by system verilog conversion where a collided synchronized load would end up with data cached in multiple ways.  It was accessing the existing load miss entry incorrectly.
- Fix an existing bug where dir_update_directory was not qualifying invalidate with the valid flag. This probably wouldn't cause bad behavior since the operation is idempotent.