(PUP-1118) Ensure there is only one *root*

If there are multiple root environments ever created, then functions
that belong on the root do not get registered correctly. This stops that
by making sure that the root is only created during the bootstrap phase.