Add a resource fit predicate.

Not linked into any scheduler yet.
Updated the API to use Resource representation.  Will update all versions once we believe that the representation is correct.  (it's a lot of wasted cut and paste otherwise)