Fixed generated description for 'eq ["foo"]'
Draft of output_to_stdout and output_to_stderr matchers
Add more specs for #description.
Change failure message for BeComparedTo#failure_message_when_negated

- Normal error message will be given for all operator except comparison
  operators
- For comparison operators such as gt/lt/gte/lte, with normal message a
  warning saying that the usage is confusing is given.
- "It might be more clearly expressed without the" is dropped completely
  as it doesn't sound correct with except
- Fixes #386
Merge pull request #417 from prathamesh-sonpatki/issue-386

Change failure message for BeComparedTo#failure_message_when_negated
changelog for #417
[skip ci]
cleanup after #417
A bit more cleanup for #417.

- Inspect actual and expected in the message - this
  is important so `"Foo"` is clearly a string and not
  a class.
- No need for the line break.
- Use `fail_with` matcher, as it specifies the exception
  class and is more consistent with other specs.
Fix build

Use UTC time instead of local time
Change regex for the object spec
Merge pull request #409 from ThijsWouters/master

Fixed generated description for 'eq ["foo"]'
Fix specs for ruby version < 1.9.3.
Use more display precision for Time and DateTime

The `eq` matcher often results in confusing output when comparing `Time`
and `DateTime` objects.

`Time#inspect` returns a value that is not full precision. This often
leads to a confusing failure message when two time objects differ by
fractional seconds. The matcher returns a failure but the diff shows
identical values. Microseconds have been added to the diff output for
`Time`.

By default `DateTime#inspect` outputs enough precision to prevent this
problem. `ActiveSupport` monkey patches `#inspect` to print a more human
readable but ambiguous representation. If `ActiveSupport` is defined a
custom format string is used for `DateTime` that has enough precision
to differentiate the two objects.

Fixes rspec/rspec-expectations#331
Merge pull request #416 from thomas-holmes/clarify-time-diffs

Use more display precision for Time and DateTime
Add Changelog for #416.
Cleanup change specs.

They were written to assume that the `===` check happens
before the `==` check for `to`/`from` values, but
in rspec/rspec-support#27 we are changing the order.

These tests were brittle and we don't still need them
as we have fuller, more realistic specs showing matchers
being passed to `from`/`to`.
Add `a_hash_including` alias.

The other aliases didn't really fit for a hash but a hash
is one of the main types of objects used with the `include`
matcher.
Merge pull request #421 from rspec/add-hash-including-alias

Add `a_hash_including` alias.
Improve `change` failure messages.

There were a couple of cases that produced puzzling failure messages:

k = "foo"
expect { }.to change { k }.to("foo")

..used to fail with:

  expected #some_value to have changed to "foo", but is now "foo"

..and now fails with:

  expected #some_value to have changed to "foo", but did not change

k = "foo"
expect { }.to change { k }.from("foo")

..used to fail with:

  expected result to have changed to BasicObject, but is now "foo"

..and now fails with:

  expected result to have changed from "foo", but did not change
Merge pull request #422 from rspec/fix-change-failure-message

Improve `change` failure messages.
cleanup