Add ErrNotFound for model to return

before this model need to return nil value and nil error to indicate
NotFound, this is not intuitive. now it can just return ErrNotFound.
Change PATCH data type to map[string]interface{}

PATCH only means to update one item with various fields, so use more
general form to reflect that. Unit test is updated as well.