Merge pull request #428 from rspec/fix-top-level-inclusion

Allow `RSpec::Matchers` to be mixed into `main`.
Proxy blocks along with arguments in has matchers

Currently, when using the has matcher any arguments passed are sent
along to the method being proxied. However, any blocks that were provided were
being lost. This commit sends along any blocks with the arguments.

<@dgalarza | @hrs | @masonforest>
Merge pull request #429 from dgalarza/dg-hrs-proxy-block-with-has

Proxy blocks along with arguments in has matchers
A few post-merge fixups for #429.

- Add changelog.
- Combine the two specs into one -- I consider it to
  be one behavior (e.g. it forwards the block).
- Allow a `do...end` block as well, and specify what
  happens when both block forms are used.
Display nanosecond precision for Time and DateTime

This is a follow up to #331 and #416.

Linux creates Time objects with nanosecond precision so only displaying
microseconds can hide the differences between two objects.