Feature/observe backup and restore

Let's summarize what has been done so far:

- observable for snapshot and restore features
- ``` ElasticClient.SnapshotObservable ``` uses under the hood ``` ElasticClient.SnapshotStatus``` 
- ``` ElasticClient.RestoreObservable ``` uses ``` ElasticClient.RecoveryStatus ```
- status is reported back with defined time period (thanks @Mpdreamz for help with Timer :+1: )

One integration test has been written for this feature(``` SnapshotRestoreObservable ```), but it is failing so far. Seems to be that the problem is in the ``` ElasticClient.RecoveryStatus ```, which returns recovery status as done all the time. 

Feel free to take over this issue  - hope I'll find some time before next release to be able to close this topic together with you.