BTreeMap: make sure modification listener is protected by node locks. Fix #226