kunit: transition: add Kconfig option for test.h to use upstream names, start impl

Start with just changing `struct test` to `struct kunit`.

If this was defined as `typedef struct test test;` then a simple
`typedef test kunit.` would have sufficed.

But alas, there's no way to make `struct kunit` actually refer to
`struct test`.
So we define a KUNIT_T macro used by all internal files.
(We use a _T suffix so we can use KUNIT_CASE_T instead of KUNIT_CASE)

Since the type is passed into several macros, this requires reworking
them to expand their arguments before trying to concatenate them.

Users can now add
  CONFIG_KUNIT_USE_UPSTREAM_NAMES=y
to their kunitconfig to build their code with the new names.
(Or change the default to 'y' when their code is ready).

Change-Id: Ie77fe1d731843b91c7cd2b2dc36e2cf74fadcc34
21 files changed