Remove unnecessary attribute.
Refactoring: extract filtering logic from metadata.

Previously, the metadata classes had two distinct
responsibilities:

* Manage special computed rspec metadata properties
  such as file_path, described_class, etc.
* Implement filtering logic that determines if a
  particular filter hash applies to the metadata hash.

It greatly simplifies things to extract the metadata
filtering logic into its own module. This greatly
reduces the surface are of the metadata objects
and is a stepping stone towards no longer subclassing Hash.
Refactor execution result to a be a class rather than a hash.

The set of attributes in the hash was a consistent list,
and reifying it as a first-class object is more appropriate
here.