Simplified key storage

Keys now always stored as const char*
Code cleanup
Split up bon.c into several files

* bon.c split up into bon.c, type.c, read.c and write.c
* improved bon_type_struct to be more efficent
* improved parsing of structs to handle arbritrarily sized structs
Improved API

Improved API to the point where bon2json only uses the public API