Add C++ Compatibility

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
use self instead this, cuz this is keyword in c++
Merge branch 'htylo-c++'