Creates IDisposeOnRequestEnd and ensures UmbracoContext and UmbracoDatabase implement it, then we only dispose of these types of objects at the end of the request if they are part of the httpcontext items (U4-2738). Fixes: U4-2988 UmbracoObjectTypesExtensions is not thread safe
Merge branch '6.2.0' of https://github.com/umbraco/Umbraco-CMS into 6.2.0
Fixes: U4-2925 Tree performance is very poor in 6.1.x when having event subscriptions
Obsoletes the LoadMinimalDocument flag since it no longer serves a purpose.
re-enables LoadMinimalDocument and adds this to the optimized check, even in optimized model the OnRenderNode can still execute with a minimal doc.
Fixes EditUser.aspx
fixes unit test
Fixes up EditUser - non-admins who have access to the Users app can edit other non-admins  and cannot change anyone to be admin, but only admins can edit other admins that are not the root admin. Only the root admin can edit the root admin.