Add Model.resetData function, which resets data (useful for tests)

This is needed for tests and I would like to get feedback:

1. What should it be named? I couldn't come up with anything better than `resetData`, all suggestions are welcomed.
2. Should we continue to use caching arrays that way? It seems that would be nice to have some kind of _cache property, which would keep all those objects, tracking which ones need to be cleared will be easier then.