generate debug_counter module
implement debug_counter module

This module allows clients to register, unregister, and list debug counters.
The main advantage of using this module over our current approaches is that
OFStateManager will be able to enumerate the counters and send them to the
controller over OpenFlow.
debug_counter: implement ucli

This uCLI provides a central place to view and reset all debug counters on the
switch. Individual modules are still welcome to implement their own uCLI to do
the same on their subset of counters.
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
debug_counter: add prefix matching to the ucli
debug_counter: add a couple of counters

Just as an example of how to use them.
zero counter when unregistering

Need to use LIST_FOREACH_SAFE to unregister while modifying the list.
debug_counter: remove extra printf argument
debug_counter: document maximum string lengths
Merge into master from pull request #16:
Debug counter infrastructure (https://github.com/floodlight/bigcode/pull/16)