Nvidia nvsvc local privesc vuln

This PR is designed to replace @todb-r7 's [PR](https://github.com/rapid7/metasploit-framework/pull/2173) which was there to replace @Meatballs1 's [original PR](https://github.com/rapid7/metasploit-framework/pull/2077) which added support for the NVidia local priv esc vuln.

Phew.

This refactors the code to use the RDI mixin, tidies up code, adds makefile support and builds cleanly with VS 2013.

I haven't been able to do any testing at all on this due to the fact that I don't have NVidia devices handy which the drives in question are happy enough for me to test it on. So I'm going to need help validating that I haven't messed things up.

Both the PR's above should be closed and replaced with this one. All commits by @Meatballs1 still exist and so are correctly attributed.

### Sample output
Sorry, I can't give you any! :-1: More work may need to be done, please help test thank you!