Make C headers safe for C++ inclusion.
This commit moves the extern "C" { ... } logic into headers themselves.
This way, it's the headers responsibility to define it's linkage
appropriately and the consuming C and C++ code can both use "#include"
without ifdef guards.