Fixed the declaration/definition logic by adding a mock to automatize the process.

* Added more tests
* Fixed class definition serialization
* Added a new cpp_ident to override identation for certain cases (public/protected/private decls on classes)
* Added a new cpp_keyword to represent a keyword and don't prepend semicolons to them
* PEP08 compliance on a lot of classes