use header guard instead of pragma to avoid warnings with older compilers
break binding out into hpp and cpp + improve pbf parsing error messages
cxx cleanup
cxx function doc fixes
cxx error reporting fixups