Add support for LOCALCOMPLETE_DEBUG flag in all

This is primarily to line things up before extracting shared behavior between
all and local. This will change the return value of complete_all_buffer_matches
in cases where LOCALCOMPLETE_DEBUG is set.
Extract common behavior between local and all.
Escape additional keyword chars.

This fixes bugs that prevented - from appearing anywhere at the end and \ from
being used at all as additional keyword chars.
Escape keyword base in complete functions.

This fixes a bug that would prevent completing if your keyword base contained
reserved regex characters like $ or \.

Conflicts:
	pylibs/localcomplete_tests.py
Allow additional keyword chars as prefix.

This fixes a bug wherein findstart would allow for punctuation at the beginning
of words but the complete functions would not. This allows for completion when
keywords start with punctuation like $myvar.