Add changes commits in main_open

Add staged/unstaged commit entries when opening the main view instead of
lazily when first commit is added.
Move stage status information to the stage module
Refactor refresh code between stage and status view
Use stage view to show changes commits

This allow to stage changes from the context of the main view instead of
first jumping to the status view to open the stage view.
Make diff stat line parsing more robust

Rewrite the diff stat to short-circuit when a line type is matched.
This also detects diff stat entries for unmerged files.
Improve staged diffs to detect copying and not show unmerged files

Unmerged files are already filtered from the status view's staged file
group so they should not be shown in the stage view. By detecting
copying (-C) instead of only renames the status view will show correctly
situations where a file was both renamed and copied.
Rename the 'show' column setting to 'display'

This also changes toggling to no longer require the setting name to be
prefixed, for example 'show-date' becomes 'date-display' which fits
better with how the other column settings work.
Toggling of the column name will toggle the display setting

This automatically expands the 'display' setting when the setting being
toggled equals the column name, similar to how the view setting
automatically resolve the 'display' setting. As a nice side effect the
old `toggle-id` action is now simply `:toggle id`.