Implement base_classes w/ search(CXXBaseSpecifier)

Replaces base_class implementation via call to C++ API.
Big reorg and Implement CXCursor wrappers as types

The code to do this is kind of ugly. But it gets rid of the uglier
"cu_kind(cu) == CursorKind.ENUMDECL" pattern everywhere.