clutter/stage: Use an own flag to prevent relayout reentry in the stage

The CLUTTER_IN_RELAYOUT flag is already set by
clutter_actor_allocate_internal() and it's a bad idea to set and unset
private flags in two places.

With the introduction of the shallow relayout API we also started
setting this flag inside clutter-stage.c on actors that are not the
stage, which seems to cause weird warnings because apparently the flag
is unset by the stage even though Clutter is still inside a
vfunc_allocate() and calling clutter_actor_set_allocation() is still
completely valid.

So stop setting those flags in _clutter_stage_maybe_relayout() and
instead introduce a new private flag for the stage to prevent reentries
(which for example could happen by calling
clutter_actor_get_allocation_box()) during the allocation cycle.

Fixes GNOME/gnome-shell#2710

GNOME/mutter!1266
6 jobs for !1266 with relayout-fix in 14 minutes and 1 second
latest detached
Status Name Job ID Coverage
  Review
passed check-commit-log #800839

00:00:31

 
  Build
passed build-mutter #800840

00:08:41

passed build-without-native-backend-and-wayland #800842

00:02:34

passed build-without-opengl-and-glx #800841

00:01:54

 
  Test
passed can-build-gnome-shell #800844

00:02:20

passed test-mutter #800843

00:04:48