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
I was planning to use it whenever I need to get subscriptions from local profile, but I may as well use Profile.Subscriptions.Values. Will remove.