Improve the design of AzureProfile and AzurePowerShell
- Changed static factories on AzurePowerShell to be members and added initializer to the factories as static property
- Updated AzureProfile so it hold info in memory and saves the data on Dispose
- Remove DefaultSubscription property from AzureEnvironment and moved it as Default property under subscription
Change AzureProfile so it works on any profile file
Add upgrade scenario for custom files.
Moved subscription logic to AzureSubscriptionsClient
Merge branch 'profile' of https://github.com/ogail/azure-sdk-tools into profile

Conflicts:
	src/Common/Commands.Common/Common/CmdletBase.cs
	src/Common/Commands.Common/Factories/AuthenticationFactory.cs
	src/Common/Commands.Common/Factories/ClientFactory.cs
Fixed all compilation issues
Added new objects