Fix several problems with unit tests

A few were of the form (is (= expr1) expr2), which always passes.
Changed these to (is (= expr1 expr2)).

Many had extraneous [] after the deftest name.  deftest does not have
arguments like defn or defmacro.  These were harmless.  The only
strange behavior they caused was to evaluate an empty vector for those
tests, and then go on to the tests in the deftest.  However, it does
seem best to remove them.