add verilator_tb_utils core

The verilator_tb_utils core consist of the non-or1200 specific
part of the or1200-generic verilator test bench and
wraps them in a reusable C++ class.

The biggest difference is probably the argument parsing,
the custom strcmp parsing have been replaced with argument
parsing from the argp library.
The argp library has support for parent/child parser,
and the VerilatorTbUtils class parser is intended to be
used as a child parser, i.e. the arguments can be
extended by the main test bench that instantiates the class.
or1200-generic: use verilator_tb_utils

This removes all non-or1200 specific code that is now
implemented in verilator_tb_utils instead.

An (almost) empty argument parser template is added,
which only purpose right now is to initiate the child parser
in verilator_tb_utils.

A signal handler is also added to catch ctrl-c.