Make Node::{remove, insert} take a descriptive enum for suppress_observers instead of a boolean.

retry: #1581

this will fix #1569