Add C++ Compatibility

Hello,

Great library. In one thing I'm writing I am linking against C++ objects, but had to make a few tweaks to include `argparse.h` in the `*.cpp` source files:

* Add guards that designate contents of `argparse.h` as `extern C`
* Change all references of `this` to `this_argparse` in argparse.h, since `this` is a keyword in C++.
* Fully nullify `OPT_END()` parameters

If you'd consider merging, I would suggest testing on a fresh branch before applying to master. It should be back-compatible, but I haven't tested this with C. (I'm 97% certain it won't break/effect anything in C though)

Thanks!
Tylo