Renamings: printer commands are now print_*, represent_* are for repr

Previously:
- in printer/ex_commands* *_repr(_len)? meant functions that do pretty-printing,
- in printer/expressions* *_repr(_len)? meant functions that do unambigious 
  formatting and
- in printer/expressions* *_dump(_len)? meant functions that do pretty-printing.

Now:
- functions that do pretty-printing have print_ prefix,
- functions that do unambigious formatting have represent_ prefix.
- All functions in question use prefix and not suffix.
- _len is still a suffix.

- Prefix “dump_” is still seen in viml/translator/*. This was not changed: it 
  has different meaning there.

Problems:
- Printer functions format input to a string while it is not needed.
- Translator functions print input using given function, while luaL_dostring 
  needs a string.

This should be changed. Should be relatively easy due to heavy usage of 
ch_macros.
Preparations to share ch_macros between printer and translator:

- Rename DEFINE_LENGTH to CH_MACROS_DEFINE_LENGTH
- Rename MEMSET to FILL
- Rename po to o
- Force semicolon after various macros (do {} while(0) hack)
Add s prefix to string print_/represent_ functions
Move ch_macros.h from printer/ to dumpers/
Add CH_MACROS_DEFINE_FWRITE, make use new functionality