Modify basic printer for contexts

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Add name_set typedef

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Add head_reduce

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Save position information when parsing expression in the lean default fronted.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Store position at parser_error. It produces better error messages.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Add sstream to simplify the generation of exception messages.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>