ObjHistoryClient and ObjDatasetClient cleanup

This PR contains a complete cleanup of ```gi.histories``` methods, moving implementations and documentation from ```ObjHistoryClient``` and ```ObjDatasetClient``` classes to ```History``` and ```Dataset``` respectively. Nicely, this removes 50 lines of code! After this PR, only ```ObjLibraryClient``` remains to be cleaned up.

Please note that commit 082eb66 contains an important bugfix. Commit f259012 contains a new test for History.update().