Removed the ugly ILocalEngine<M> interface

ILocalEngine extended IEngine with an Execute(Func<M,R>) method
Use DelegateQuery<M,R> instead
added implicit operator overload to DelegateQuery
Initial support for immutability

The Immutability kernel processes commands of type ImmutabilityCommand without blocking queries at all. Also rollback is never necessary, the model is only replaced after a command has succeeded.