Refactored Subscription related cmdlts and added tests

* Refactored Account (2100040), Subscription (2100044), and Environment (2100050) cmdlts
* Added tests for all public methods on ProfileClient
* Added Add-AzureSubcription cmdlt
Do we really want to follow pattern of passing the warning logger with every method?