Merge branch 'master' into refactoring

Conflicts:
	src/NMSD.Cronus.Core/Commanding/RabbitCommandConsumer.cs
	src/NMSD.Cronus.Core/Commanding/RabbitCommandPublisher.cs
	src/NMSD.Cronus.Core/Cqrs/AggregateRootApplicationService.cs
	src/NMSD.Cronus.Core/Cqrs/AggregateRootFactory.cs
	src/NMSD.Cronus.Core/Cqrs/AggregateRootState.cs
	src/NMSD.Cronus.Core/Cqrs/IAggregateRootState.cs
	src/NMSD.Cronus.Core/DomainModelling/IAggregateRepository.cs
	src/NMSD.Cronus.Core/EventSourcing/MssqlEventStore.cs
	src/NMSD.Cronus.Core/Eventing/InMemoryEventBus.cs
	src/NMSD.Cronus.Core/Eventing/RabbitEventConsumer.cs
	src/NMSD.Cronus.Core/Eventing/RabbitEventPublisher.cs
	src/NMSD.Cronus.Core/Eventing/RabbitEventStoreConsumer.cs
	src/NMSD.Cronus.Core/Eventing/RabbitEventStorePublisher.cs
	src/NMSD.Cronus.Core/Messaging/BaseInMemoryConsumer.cs
	src/NMSD.Cronus.Core/Messaging/MessagingHelpers.cs
	src/NMSD.Cronus.Core/Messaging/Publisher.cs
	src/NMSD.Cronus.Core/Messaging/QueueFactory.cs
	src/NMSD.Cronus.Core/Messaging/RabbitPublisher.cs
	src/NMSD.Cronus.Core/NMSD.Cronus.Core.csproj
	src/NMSD.Cronus.Sample.ApplicationServices/Program.cs
	src/NMSD.Cronus.Sample.EventStore/Program.cs
	src/NMSD.Cronus.Sample.IdentityAndAccess.Contracts/Users/Commands/ChangeUserEmail.cs
	src/NMSD.Cronus.Sample.IdentityAndAccess/Users/UserAppService.cs
	src/NMSD.Cronus.Sample.InMemoryServer/Program.cs
	src/NMSD.Cronus.Sample.UI/Program.cs
	src/NMSD.Cronus.sln