data_smart: Ensure d.keys() doesn't list deleted variables

If you copy the datastore, then delete a variable, it still shows up
in d.keys() when it should not. This patch addresses the issue.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
tests/fetch: Add versionstring tests to network tests list, fix print()

The versionstring tests hit the network so should only run when
network tests are enabled.

Also remove the print statement which confuses the test output and
add it to the test failure message instead.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
tests/data: Add a key deletion test

If you copy the datastore, then delete a key, it should not exist in
d.keys(). This adds a test to cover the recently found data store bug.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
fetch2/wget: Fix horrible temp file handling

Hardcoding a temp directory is bad practice and leads to races between
the tests. There is no longer any good reason for doing this, drop it
and ensure the files get cleaned up correctly.

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