Add Model#reload

This PR adds simple `record.reload()` functionality to reload the record's data from the server. Here are couple of use cases

- record was loaded some time ago and we want to get fresh data
- some operation causes a different record to change on the server and we want to reload it (yes, sideloading might be an option here, but reload is much simpler for simple use cases)
- record was edited and we want to reload the actual data from the server. Even though this can be done by storing the edit data somewhere else, `reload` is a much simpler solution that works most of the time