'Called to implement evaluation of self[key].
>>> ip=IP(\'127.0.0.0/30\')
>>> for x in ip:
...  print hex(x.int())
0x7F000000L
0x7F000001L
0x7F000002L
0x7F000003L
>>> hex(ip[2].int())
\'0x7F000002L\'
>>> hex(ip[-1].int())
\'0x7F000003L\''

def __getitem__(self, key):

    if ((not isinstance(key, types.IntType)) and (not isinstance(key, types.LongType))):
        raise TypeError
    if (abs(key) >= self.len()):
        raise IndexError
    if (key < 0):
        key = (self.len() - abs(key))
    return (self.ip + long(key))
