added unit tests and fixed bug related to restoring objects with read_only attributes
restore_object to check source attributes as well
Merge pull request #15 from romanlv/master

better implementation of restore_object method