Organizing header files by object.

Every object will now have:
	* type.h - contains type declarations
	* pubic.h - contains public function prototypes.h
	* definition.h or definitions/{def1.h, def2.h, etc} - contains type definitions
	* private.h or private/{pr1.h, pr2.h, etc} - contains private functions
Fixed up some minor bugs in new header directories