Refactor CVideoDatabase::GetValueString

Both functions now call a common routine to process the value string.

Also correct a missing pass by reference on the newer version of
GetValueString.
Some code tidy-up before pull request

Fix build failure.
Fix some indentation issues.
Remove some comments/notes to myself.
Merge some CStdString and the = PrepareSql lines.
Possible fix for performance issue on updates

If 300+ updates are carried out too quickly then the message loop
struggles with the refresh events from the Json layer.

It appears that the JSON layer triggers a full refresh, and this causes
pain if you're on the movies view as the refreshes process.

I've added an extra API to allow a FileItem to passed into the refresh
builder, and it then passes that item around as being the thing to
refresh.

This stops the heavy refresh rate, but still slows the UI down while it
gets through the backlog of events.

I've also added code to only push a refresh event if there was actually
a change to the movie.
Fix log message again

The change disappeared in merging code from other PR branch.
Add protect against unpopulated VideoInfoTags

Make sure that the VideoIntoTags have been populated with DB information
before comparing them.  Their presence might not be because they've been
populated.