Improve core api and test

- make the remote call clear at the GvmClient
- added gvmHome for better test-ability (the next step will be access to the local storage)
- separation of high level api (e.g. Candidate and Version) from the low level rest api calls - we didn't  implement something at the high level api

thx to @aalmiray , @madmarkus , @sbrannen , @stevendick , @vad1mo and the mad woman with the stones