Add Variant::emplaceWithBackup function
Use emplaceWithBackup in Variant assignment

Variant assignment operators were originally so implemented that it
creates a backup before assigning. Since commit fbb3d6d, however, the
emplace function the assignment operators depend on had not been
creating a backup in spite of the documentation comment for the
assignment operators.

This commit fixes the implementation and documentation of assignment
operators so that they match.