otr: turn OtrUserState into service

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
otr: use consistent naming

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
otr: added OtrOpDataFactory

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
otr: store Contact instead of Chat in OtrOpData

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
otr: better naming of OtrOpData variables

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>