test/data: Add in test for append/prepend/remove override operations

We currently don't have test cases for _append, _prepend and _remove. This
patch adds some basic tests and includes a test case for a recently reported
issue with the _remove operator.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
data_smart: Fix caching issue for double remove references

FOO = "foo bar"
FOO_remove = "bar"
FOO_FOO = "${FOO} ${FOO}"

would show FOO_FOO = "foo foo bar" rather than the expected "foo foo".

This is actually a cache bug, this patch ensures the right value is
put into the cache. The preceeding patch adds a test case to ensure
we don't regress in future.

[YOCTO #6037]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>