Uses hash for searchable fields to allow explicit identification when attribute doesn't match clean field name
Fix clean data to passed to have sanitized the data not the attribute name
Fix change detector to try id field if attribute field try returns nil
Check presence with blank instead of empty to account for possible nil value.
Move specs testing clean setting, updating and resetting to nil into common searchable specs.