Restructure io request queue logic to be clearer
Make decode_debug_trace a little easier to reconfigure
Fix bug with synchronized stores in v2 architecture

- Rollback logic was incorrect, which would result in a synchronized store
appearing to succeed when it hadn't been sent to the L2 cache yet.
- Also augmented randomized test generator to create synchronized loads/stores
- Fix a bug in simulator where it would only invalidate synchronized transactions
for word sized stores. Make it now invalidate for all store types.
Reset logic was broken in IO request queue
Merge branch 'master' into fpga_bringup_debug