Moving from "universal testing" to in-kernel unit testing

Removed all old, recently non-working, unit tests and created a new
kunit test framework based on punit. kunit is executed in kernel mode
and it's used to test kernel's internal structures.

This change is made mainly due to the fact that "universal" testing was
not working anymore for us because headers were having too many
confflicts with especially headers defined in linux. So the new approach
doesn't have this kind of issues and what's best it can test the data
structures and even very weird functions in the actual environment.

So there is now new compilation option configKUNIT which selects kernel
unit tests and creates a sysctl mib tree under debug.test. Unit tests
are executed by writing any value other than zero to the corresponding
variable name in mib. Tests results are then written to the kernel log.

There is now a directory called test under src, it will contain all the
unit tests for the kernel part in the future. This will however require
some(/lot of) manual work to convert old tests as they are originally
developed in-kernel execution in mind.

Feel free to look around, for a reference you can look up test files
under test/kstring directory. Please not that the old grouping of tests
is still effective and for example kernel tests are in sysctl under
debug.test.kstring.X. So these groups are now defined in ktest_mib.X
files under src/test.