raise errors on badly formatted assumptions

Errors are raised if there are not spaces around
& and | or if there *is* a space after '!'. This inflexibility
enforces readability on the input strings.