Improve error message when asserting or refuting a statement that evaluates to a boolean

Here's the follow up of https://github.com/elixir-lang/elixir/pull/1299 with improvements to failed assertion error messages. This switches from `AssertionError` to `ExpectationError` for improved formatting and support for a description (the evaluated result).

There were a few instances of `assert false` and `refute true` in the tests, which now seem pretty verbose. Although, I couldn't think of a good reason you would actually want to write that outside of a test specifically for `ExUnit`. Let me know if you think that should be fixed up at all though.