editor: stub out plumbing for auto indenting.

This requires patches from GtkSourceView bug 736727.
editor: add GbSourceAutoIndenterC:brace-indent
editor: incremental C indentation work.
editor: more indentation work.
editor: more indentation work.
snippet: add some snippets
auto-indent: check if we are in a c89 comment.
snippets: invalidate snippet region on text insertion

This allows us to properly redraw the background when inserting text.
snippets: do the same treatment for redraws on delete.
auto-indent: add fallback when we don't find a stmt or expr.
auto-indent: move backwards to the next non-space character.
auto-indent: if last item is a c89 comment, move before it.

This let's us ignore things like /* */ after commas in parameter lists.
auto-indent: fake cursor position if we were after a c89 comment.
auto-indenter: lots of incremental work here.

 * move "auto-indenter" to GbSourceView.
 * Start plumbing API so we can do more than just indentation.
   for example, we need to be able to remove text so we can adjust
   indent for } and end comments and such.
 * stub } and / triggers.
auto-indent: make , work again.
auto-indent: use parent class for insertion of keyval.

Otherwise, we would insert CR instead of \n. This let's us use the default
binding. We just need to ensure that auto-indent is disabled.

Possibly should override that property in GbSourceView.
auto-indenter: try to find local scope if we failed to locate expression.
auto-indent: add # to trigger list.

This will allow us to unindent preprocessor directives once we get to
unindenting text.
auto-indent: stub out format callback post-trigger.
auto-indent: auto close multi-line comments when slash is inserted.

If we are currently in a c89 comment, and "* " is proceeding as a
slash (/) is inserted, just close the comment.