Runs a WHO on a target
        Required arguments:
        * target - /WHO <target>
        Returns a dictionary, with a nick as the key and -
            the value is a list in the form of;
           [0] - Username
           [1] - Priv level
           [2] - Real name
           [3] - Hostname

def who(self, target):
        """
        Runs a WHO on a target
        Required arguments:
        * target - /WHO <target>
        Returns a dictionary, with a nick as the key and -
            the value is a list in the form of;
           [0] - Username
           [1] - Priv level
           [2] - Real name
           [3] - Hostname
        """
        with self.lock:
            self.send('WHO %s' % target)
            who_lst = {}

            while self.readable():
                msg = self._recv(expected_replies=('352', '315'))
                if msg[0] == '352':
                    raw_who = msg[2].split(None, 7)
                    prefix = raw_who[5].replace('H', '', 1).replace('*', '', 1)
                    channel = raw_who[0]
                    nick = raw_who[4]
                    if prefix == '~':
                        self.channels[channel]['USERS'][nick] = \
                           ['~', '', '', '', '']
                    elif prefix == '&':
                        self.channels[channel]['USERS'][nick] = \
                           ['', '&', '', '', '']
                    elif prefix == '@':
                        self.channels[channel]['USERS'][nick] = \
                           ['', '', '@', '', '']
                    elif prefix == '%':
                        self.channels[channel]['USERS'][nick] = \
                           ['', '', '', '%', '']
                    elif prefix == '+':
                        self.channels[channel]['USERS'][nick] = \
                           ['', '', '', '', '+']
                    else:
                        self.channels[channel]['USERS'][nick] = \
                           ['', '', '', '', '']
                    who_lst[raw_who[4]] = raw_who[1], prefix, \
                        raw_who[7], raw_who[2]
                elif msg[0] == '315':
                    return who_lst