Socket_inode and port_inode tables to map PIDs->ports via netlink inet_diag

Currently no way on Linux to map processes listening on ports to their PIDs, ala listening_ports for Darwin. This enables that.

Example query:
```
SELECT port.local_port,
       port.remote_port,
       port.local_ip,
       port.remote_ip,
       socket.pid,
       process.name
FROM socket_inode AS socket
JOIN port_inode AS port
ON socket.inode = port.inode
INNER JOIN processes AS process
ON socket.pid = process.pid;
```

Tested on Ubuntu 14.04
I'm not really sure what this all is supposed to be doing. the APIs aren't that clear. can we get some doxygen comments for each of the functions and maybe some inline comments for the complex bits? at first glance, `while(1)` looks scary.