Make test-mul constant time even if platform multiplier is not
Make test-mul constant time even if platform multiplier is not

- Multiply templates mulu, mul, mulsu have been changed to
  use the mulu<> template using a half type typedef in the
  holder type which results in calling the smaller multiplier
  until reaching the terminal specialisation template which
  uses simple school boy multiplication.

rv8-io/rv8,rv8-io/rv8,rv8-io/rv8