Enable IllegalArgumentAssertion for must method

In some cases, you want the must method to signify that the user passed
it an illegal type of argument.

I created a new exception called IllegalArgumentAssertion to signify to
the user that they did not provide the proper type of argument to the
must method. I also updated the unit tests to reflect the change.

Other methods will use the IllegalArgumentAssertion for similar
purposes.