ethoc: Guard various hardware model functions for manual slicing

By default, all the code will be enabled, use -D__NO... to disable
ethoc: Added script to perform all ethoc-hw experiments
ethoc: make sure irq is fired even when source_write is otherwise disabled
ethoc: code and include fixes
ethoc: #ifndef guards to permit disabling costly parts

- These are only used for concurrency experiments, the sequential version is
  always fine.
ethoc: script to perform combined sw/hw experiments