'Create a new roster item.
Arguments:
xmpp   -- The main SleekXMPP instance.
jid    -- The item\'s JID.
owner  -- The roster owner\'s JID. Defaults
so self.xmpp.boundjid.bare.
state  -- A dictionary of initial state values.
db     -- An optional interface to an external datastore.
roster -- The roster object containing this entry.'

def __init__(self, xmpp, jid, owner=None, state=None, db=None, roster=None):

    self.xmpp = xmpp
    self.jid = jid
    self.owner = (owner or self.xmpp.boundjid.bare)
    self.last_status = None
    self.resources = {}
    self.roster = roster
    self.db = db
    self._state = (state or {'from': False, 'to': False, 'pending_in': False, 'pending_out': False, 'whitelisted': False, 'subscription': 'none', 'name': '', 'groups': []})
    self._db_state = {}
    self.load()
