Allow ActiveDOMObjects to be destructed while iterating ContextLifeCycleNotifier::m_activeDOMObjects

Currently we are not allowed to destruct ActiveDOMObjects while iterating ContextLifeCycleNotifier::m_activeDOMObjects. This restriction is needed in order not to confuse the iteration. However, the restriction is too strong and became a real issue in https://codereview.chromium.org/218953002/. Specifically, we want to make the following scenario workable:

(1) ContextLifeCycleNotifier::notifyStoppingActiveDOMObjects() starts iterating m_activeDOMObjects.
(2) stop() is notified on an IDBRequest (which is an ActiveDOMObject).
(3) The stop() clears a RefPtr<IDBDatabase> (IDBDatabase is also an ActiveDOMObject).
(4) IDBDatabase is destructed.

This CL changes ContextLifecycleNotifier so that we can destruct ActiveDOMObjects while iterating ContextLifeCycleNotifier::m_activeDOMObjects.

Review URL: https://codereview.chromium.org/247253002

git-svn-id: svn://svn.chromium.org/blink/trunk@173760 bbb929c8-8fbe-4397-9dbb-9b2b20218538