debug_counter: move string storage out of debug_counter_t

Most names and descriptions will be much smaller than their maximum size.
Additionally, some counters will share the same description. So, this saves
some memory.

In the common case of literal strings this makes using debug counters a little
simpler. When dynamically generating the name or description the caller will
need to allocate the strings (could be just another field in the containing
struct) and remember to free them after unregistering the counter.
debug_counter: increase maximum name size to 64 bytes
debug_counter: add some docs including a naming scheme
debug_counter: use PRI macros in ucli