Fixes main serialization and deserialization of Identity to raw data.
The serializer was serializing QStrings, while the deserializer was
expecting QVariants, which did not behave as expected. The serializer
now serializes everything as QVariants too.
Fixes serialization of Signature - signature was never being stored
in mPropertiesMap, so the key was always empty. We instead serialize
mSignature directly. Calls to setSignature() etc. now also insert the
mSignature into the mPropertiesMap.
Improves operator==() to handle comparision between manually created
and deserialized Identity. Deserialization will fill mPropertiesMap
with lots of empty QVariants, but the default ctor will not so simple
mPropertiesMap == other.mPropertiesMap comparision was failing. The
algorithm now assumes that if a key is not present in one map but
is present in another the maps are considered equal as long as the
value is invalid.