coap: fix a bug; do some cleanup.

  Bug fix: do initial calls to col_...() *before* the dissection code so
           that proper column info is displayed even if the dissector
           exits early because of an exception, etc.

  Cleanup:
    - Use wmem_strbuf instead of static fixed length char arrays;
    - Create/use an extended value_string;
    - Use %u (not %d) when formatting unsigned values;
    - Use strchr() to search a string for a character;
    - Misc ...

Change-Id: I57ca584f989c3ab1cf141270cc50160f9fb980ae
Reviewed-on: https://code.wireshark.org/review/5153
Reviewed-by: Bill Meier <wmeier@newsguy.com>