Introduce model.update()

Also fixed a bug where a model was added to cache although an error happened on fetch()