Refactor asserts

 * replaced keyword type with the class name of the result type
   (one less layer of indirection)
 * Tests for assert-warning, assert-no-warning
 * better implementation of %form-equal (was %expansion-equal) that is
   tested

re ADWolf:#1201
made assert-signal, assert-no-signal and made assert-warnings use those re ADWolf:#1201