Feature #3167, #3169: Make the restricted attr. mechanism generic for all pool objects

(cherry picked from commit efe97e0adedc3d648c96515effc5055233521d4c)
Feature #3167, #3169: fix compilation

(cherry picked from commit 2bfdae1c07dca77cf4f0b9083aa661717fed26f8)
Feature #3167: Allow users to edit their VNets, add vnet restricted attributes

(cherry picked from commit 00cb00b0e8568c8bdd9f1b5a156b19b338d3befd)
Feature #3167: Allow users to edit their VNet's AR, respecting restricted attributes

(cherry picked from commit 36f19c0dcf0e46cecbbb6210b07dd860c58c5939)
Feature #3167, #3169: Fix replace_template for Zone

(cherry picked from commit e40eee0e131e94f07482c65d51c6f18a4aa5a0d6)