ChefExtension support in the azure sdk toolkit

Contribution to the Azure SDK Toolkit from Chef - To support ChefExtension cmdlets.
Note - ClogenyTechnologies has a contract with Chef. We have signed the Microsoft CLA. This new PR has been created to accomodate the "rebase" after this repo had been restructured.
Original PR - https://github.com/Azure/azure-sdk-tools/pull/2576
@adamedx , @huangpf 
We can use parameter sets for this case, but we get an incorrect error message: "ambiguous parameter set". We define 2 sets as: (a, b) and (a, c). If user inputs only "a", he should see an error message saying "enter b or c". Is it ok to go ahead and use the parameter set for such a case, even if the error message is misleading?