add Table.Upsert

- add mechanism to reduce duplication of sql gen and make it easier to see what the resultant statements will be
add DisposableAction.Noop

null pattern disposable
finish Table.Upsert
add IIdempotentMessageSubscriber and RunOnlyOneAtATime
add missing "[dbo]."
add IIdempotentMessageSubscriber and RunOnlyOneAtATime
add IdempotencyService
rename MessageProcessor to EnvelopeProcessor and extract message processing to new MessageProcessor class
add SubscriberValidator to be used by hosts to validate some of the easy to miss druq requirements
clear locks on Idempotent when hub dies
kick-off fixes

- registered IIdempotencyService for IoC
- added parameterless constructor to IdempotencyService to make
registration work
- fixed typo Idemponents -> Idempotents
- fixed inverted equality assignment in IsIdempotent property
add CurrentHub as singleton
Fixes to make Idempotent work

Changed IsAssignableTo with IsGenericTypeOf
In Idempotent model changed Key to Id
Some refactoring to use strig.Format
keep internal cache of idempotent runs to reduce db load
Merge branch 'idemponent' of github.com:daptiv/Daptiv.Bus into idemponent
Inversion of difference sign

changed less than to grater than
also other small refactors
Fixes and Nullable addition
Null check added
Revert "Null check added"

This reverts commit 6ba81c61763ea3f96a10dea8f9453847cc343835.

Rollback commit 6ba81c6

Revert "Null check added"

This reverts commit 6ba81c61763ea3f96a10dea8f9453847cc343835.
Revert "Fixes and Nullable addition"

This reverts commit 81cda91e82edc0eed91c9bed3dda71e9b3f2b3f7.

Rollback commit 81cda91

Revert "Fixes and Nullable addition"

This reverts commit 81cda91e82edc0eed91c9bed3dda71e9b3f2b3f7.