Move PushHttpClient from individual platform assemblies to PCL

This prepares for unit tests to be written once and easily run on all platforms. Started abstracting registration classes so PCL can own core algorithms.

Also:
1. Added readonly in a few locations
2. Removed unused usings
3. Update test projects to be push capable (after they are associated with store)
4. Removed an unnecessary async in WinPhone 8.1
5. Fixed Application settings in WinPhone 8.1 test project
6. Ensure test functional tests are loaded in WinPhone 8.1 test project
7. Added System.Runtime reference to VB project to avoid occasional build errors
Add PushHttpClient unit tests
Fix Code Review comment
Code review feedback
Complete the move of Push code into PCL
Update the PCL Registration class to be the default Registration class and eliminate interfaces.
Ensure the tags text box is used when running Android Xamarin tests
Remove lambda compilation from Xamarin tests for iOS
Address all Code Review feedback
Fix-up StyleCop errors in Push files and exclude StyleCop.Cache in .gitignore
Additional Code Review feedback and StyleCop updates
All review feedback addressed
Update the E2E .Net service to 303
All push unit tests passing on Android and Windows platforms
Demonstrate InternalsVisibleTo not working on iOS Xamarin
Exclude Xamarin iOS support from client SDK until internal unit tests are solid
Test fixes courtesy of Phillip
Revert iOS Test Assembly Name change
Merge remote-tracking branch 'upstream/dev' into pushRefactor

Conflicts:
	sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.WindowsPhone81.Test/Package.appxmanifest
	sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.WindowsStore.Test/Package.appxmanifest
Update changelog for 1.2.2