Fixes member type repository when member types don't have properties declared and adds tests. Adds IMemberTypeService.

Conflicts:
	src/Umbraco.Core/Persistence/Repositories/MemberTypeRepository.cs
	src/Umbraco.Core/Services/ServiceContext.cs
Fixes merge issue , fixes the ServiceContext lazy fields to be the underlying interfaces, adds public ctor
Adds public ctors for ApplicationContext, ServiceContext, DatabaseContext, RepositoryFactory, makes IDatabaseFactory public, makes an interfaces for IEntityService, adds EnsureContext methods for ApplicationContext - to set the singleton.
Completes: U4-2963 Updated EntityService / IUmbracoEntity to have a dictionary to fill additional data - fixes merge issues and explicitly implements interface for entities that are not UmbracoEntity and hides other implementations from intellisense.
Merge remote-tracking branch 'origin/6.2.0' into 7.0.0

Conflicts:
	src/Umbraco.Core/ApplicationContext.cs
	src/Umbraco.Core/Models/ContentBase.cs
	src/Umbraco.Core/Models/ContentTypeBase.cs
	src/Umbraco.Core/Models/DataTypeDefinition.cs
	src/Umbraco.Core/Persistence/Repositories/MemberTypeRepository.cs
	src/Umbraco.Core/Persistence/RepositoryFactory.cs
	src/Umbraco.Core/Services/IMemberTypeService.cs
	src/Umbraco.Core/Services/MemberTypeService.cs
	src/Umbraco.Core/Services/ServiceContext.cs
	src/Umbraco.Tests/Routing/uQueryGetNodeIdByUrlTests.cs
Fixes up merge issues.