Add the KEY_END marker on key creation where missing

Add the KEY_END vararg where missing when creating a new key, either
using the C keyNew or the C++ kdb::Key, as done everywhere else.

This fixes crashes in some tests.
> Hello, thank you, this is really wrong.

Can you please explain why this is "really wrong", considering `KEY_END` has been used basically everywhere else (even in these files)?
What happens here is the following:
a) `Key("user/test/configold")` gets called
b) in `src/bindings/cpp/include/key.hpp`, `Key::Key(keyName, ...` creares the `va_list` and passes it to `keyVNew`
c) in `src/libelektra/key.c`, `keyVNew` calls `va_arg(va, keyswitch_t)` to know which attribute to handle
d) since the `va_list` is empty, a random value for `action` is returned -> crash when getting pointers out of `va_list` (e.g. with `KEY_VALUE`)

The fact that "it works" even without `KEY_END` on x86/x86_64 does not mean it is valid to do that; running testtool_keyhelper under valgrind shows that too.

> and KEY_END would need to be a pointer

That would mix integets (`KEY_VALUE`, `KEY_SIZE`, etc) with a pointer when calling `action=va_arg(va, keyswitch_t)` to get the next metadata when creating a new key in `keyVNew`, and that is a bad thing to do.