Update AssertionProvider

Duplicate definition keys are no longer allowed. Uses logger instead of
standard output stream.
Update Check and assertion definitions