Remove internal headers from example.c

- Create a new async wrapper
- Make test callbacks public
- Make print functions public
- Create external interface for PUT options
- Isolate example messages from actual PB message types