OneSdk cmdlets

Here are list of cmdlets in this pull request (got the list from one of our "sync" mails)

Write-AzureSiteRecoveryVaultSettingFile (temporary)
Import-AzureSiteRecoveryVaultSettingsFile
Get-AzureSiteRecoveryVaultSettings (not planned, but it helps)
Get-AzureSiteRecoveryServer
Get-AzureSiteRecoveryRecoveryPlan
Start-AzureSiteRecoveryPlannedFailover
Start-AzureSiteRecoveryUnPlannedFailover
Start-AzureSiteRecoveryTestFailover
Start-AzureSiteRecoveryCommitFailover
Update-AzureSiteRecoveryProtection
Stop-AzureSiteRecoveryTestFailover
Resume-AzureStireRecoveryJob
Get-AzureSiteRecoveryProtectionContainer
Get-AzureSiteRecoveryProtectionEntity
Set- AzureSiteRecoveryProtectionEntity

Also includes functionality, framework, piping (at property level), exception & error handling with customized errors, writing customized PowerShell objects, with vault settings in memory, enable / disable protection has WaitForCompletion switch parameter, interrupt hanlding...

Please review these changes. Vault Key changes are yet to in.
All cmdlets (just cmdlet framework, basic logic) are under folder Services and the computation logic is in Client for all the cmdlets.