Do not allow `described_class` to be wrongly overridden to be `nil`.
Stop passing only metadata.

`describe some_hash` should make the `subject`
the hash rather than treating it as metadata.
Metadata comes after the description or described
object.

This needs a 2.99 deprecation.
Allow hashes and symbols to be used as an implicit subject.

Fixes #1240.

This still needs a 2.99 deprecation.
Fix 1.8.7 syntax errors.

- 1.8.7 doesn't allow defaults for bock args.
- 1.8.7 doesn't allow trailing commas in lists.
Merge pull request #1403 from rspec/implicit-subject-fixes

Implicit subject fixes