Move RecordNotFoundException to Datasource.

Also move findOrFail() into QueryTrait so it can be used in other
queryable implementations.