Continuing refactoring

* Merge from dev
* Misc. fixes to ProfileClient
* Added unit tests for ProfileClient
* Added mocks
should this be `WriteAllBytes`?