Clarify compile and typeError in assertions and matchers

-Renamed assertNoTypeError to assertCompiles to Assertions.
-Added shouldNot typeCheck syntax.
-Changed shouldNot compile behavior so that it passes when encounter ParseException
-Added assertDoesNotCompile to Assertions.