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.
removes duplicate declaration
Fixes up and implements more if the IMemberService, repository and membership providers (both legacy and what seems to be the new one).
updates UmbracoMembershipMember
More member service and provider updates

Conflicts:
	src/Umbraco.Core/Persistence/Repositories/Interfaces/IMemberRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs
Fixes: U4-3077 No id "xxxx" exists in dictionary
Fixes/updates more of the member repository and related items

Conflicts:
	src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs
tweaks to membership providers so if we cast we can specify the member type.
Merge remote-tracking branch 'origin/6.2.0' into 6.2.0-pubcontent

Conflicts:
	src/Umbraco.Tests/TestHelpers/BaseWebTest.cs
Fixes build - removes .net 4.5 reference of EmailAddressAttribute - we'll leave that in for v7 when targettng 4.5
U4-2606 - List registered types in a ManyObject resolver
Merge remote-tracking branch 'origin/6.2.0' into 6.2.0-pubcontent
PublishedContentModel - keep it internal for now
PublishedContentModel - keep it internal for now