First round of changes to migrate pager inside fish, in preparation for
presenting completions underneath.
More work on builtin pager
Implement bind modes
Allow restricting earsing and listing of bindings to specific mode;
implement force repaint and multi-char bindings;
Add sample prompt for vi mode
Fix bug
Add sourceable script file to enable vi mode
Better input handling; add support multiple binding commands
Merge branch 'master' into pager
Migrating new pager implementation into a class. Further work on
constructing a screen_data_t from it.
Merge branch 'master' into pager
Make Ctrl+C exit insert mode, add some more backspace binds.
Update vi bindings:

The following normal mode bindings are added:
    o, I, A, gg, G, g^, g$, x, X, backspace, d*, D, s, S, c*, C, ~, gu,
    gU, J, K, y*, Y, p, P

I was not able to add binding for 'O'

dd now deletes the whole line as vim, while D deletes the line to the
end. c, s, y act the same way
Merge pull request #1 from maxfl/bind_mode

Update vi bindings
Teach screen how to render completion page. Correct spacing in
completion page contents.
Add optional options to fish_default_key_bindings

These options will be passed to the bind command.
Now it's possible to call
  fish_default_key_bindings -M insert
to set all original bindings to the insert mode
Fix for indentation test failures
Merge branch 'master' into pager
Change highlight colors from a bitmask into a combination enum / bitmask
so that we can support more than 16 color specifications.
Merge branch 'master' into pager

Conflicts:
	screen.h