Merged Damon's generic header scanning API and added the bridge code and C++ API