code optimizations and new 'partial kernel' feature

Hi there! Congrats on this nice tool :)

I changed it a bit, mostly just rewording the code to make it more easy to read, extend and debug. As a side-effect, it also included a few optimizations, so it runs slightly faster too!

Since this is your baby and not mine, I went the extra mile and made sure to include extended comments on each commit message, letting you know the rationale behind each change.

Finally, I saw how some vulnerabilities only have a partial kernel (eg: '2.4.') and added a new feature. Now if the user types "-k 2.4" it will show all matches for the 2.4 kernel, with the actual matching kernel in parentheses right next to the exploit name.

Hope you find this useful. And thanks again for the tool!