Removes local inclusions from public header files
Adds headers inclusion protection
Adds compilation flag

A new CHULA_COMPILATION definition must be used so the independent
headers of libchula can be used while compiling it.
Adds libchula's primary header
Works out header inclusions
Merge branch 'header-fitness'