add ability to unregister a preset

fix #7218
remove whitespace below menubar when toolbar hidden.

closes #7292
Merge pull request #7251 from Carreau/unregister-preset

add ability to unregister a preset
Fix crossreference to %run magic
reformat css

cause I want to inject some variable in it after (like border radius)
and a few other thigs.

This is just a reformating that does not change the generated css.
MAINT: Move `update` from FileContentsManager to ContentsManager.

The implementation in FileContentsManager is written entirely in terms
of the required API, and is sensible for other ContentsManager
implementations.
Merge pull request #7308 from Carreau/reform-css

reformat css
Merge pull request #7312 from quantopian/refactor-contents-update

MAINT: Move `update` from FileContentsManager to ContentsManager.
fix border radius on element.

set a value to border-radius large, and actually make border radius
small smaller than border radius large.

Make dialog border radius coherent with the rest of the UI.
unify submenu style with menu style

closes #7303.

Also change the arrow that indicate submenu for a fontawesoem icon,
instead of the ugly hack that show only the left border of a rectangle element
which with is twice the one of its border to get a triangle.
stack vertically  keyboard shortcut on narrow viewport.
Merge pull request #7320 from Carreau/narrow-vp

stack vertically  keyboard shortcut on narrow viewport.
Merge pull request #7318 from Carreau/dialog-border-radius

fix border radius on element.
Merge pull request #7311 from Carreau/reform-css-2

Reform css 2
Merge pull request #7307 from Carreau/remove-white

remove whitespace below menubar when toolbar hidden.
DEV: Refactor checkpoint logic from FileContentsManager.

- Add a `CheckpointManager` base class and infrastructure for creating a
  `checkpoint_manager` instance attribute on `ContentsManager`.

- Provide default implementations of `delete` and `rename` in the base
  `ContentsManager` class.  `ContentsManager` subclasses are now
  required to implement `delete_file` and `rename_file`.  These methods
  no longer need to manage checkpoints.

- Move checkpoint-related functionality from `FileContentsManager` to a
  dedicated `FileCheckpointManager` subclass.

- Move shared filesystem interaction logic into `FileManagerMixin`
  used by both `FileContentsManager` and `FileCheckpointManager`.

- Minor tweaks to ContentsManager tests to get methods from the right
  object.

The purpose of this change is to provide an API for users to replace
just the checkpoint logic associated with a particular
`ContentsManager`.  In particular, this change makes it possible to
easily support remote storage of checkpoints while otherwise retaining
normal filesystem interactions.