Allow changing the identifier of an identity after initialisation

This causes the signon identity to be reset and reinitialise.
Make Account and ServiceAccount more robust

Previously, there were circumstances (due to identifier changes after
initialization) where a null account pointer could be dereferenced.
Only take ownership of filters/sorters if they have no parent

Previously, the social network interface would delete any filter which
was assigned to it, on later assignment or clear.  This commit ensures
that it only does so if the filter had no parent when it was assigned
initially.
Sign out of active authentication sessions on Identity removal or dtor

Previously, active authentication sessions would remain valid after an
identity was removed or destroyed.  This change ensures that any active
auth sessions are signed out of prior to removal, and that the single
active session owned by the current instance is signed out of when the
instance is destroyed.  It also ensures that the auth session's state
change signals are connected properly, and adds unit tests to ensure
that we don't regress.
Merge pull request #100 from chriadam/master

Various improvements and bugfixes for accounts/signon/social