move signature checking to base NotebookManager

so that subclasses have less to duplicate
Python 3 renamed hashlib.algorithms to algorithms_guaranteed