CHILDPAGES-9 : React to page events

Add a page event listener which invalidates portlets when a child page
changes.
Add tests:
 * a test for page addition/modification/removal
 * a test to check for event loop prevention
 * a test for page reparenting, which fails pending a fix for CHILDPAGES-7;
   such a fix will probably need modifications in core