[Http]: Cleanup chained async operations; bug #19161.

Merged mono/master commits e49d56e and 55ef36a.
[Http]: Cleanup and simplify the ServicePoint's connection group list.
[Http]: Only recycle ServicePoints from the idle timer (fixes #19823).

Thanks a lot for Martin Potter to find and report the race condition
which was causing the problem.

ServicePointManager.RecycleServicePoints() was a left-over from the
old times when we didn't have an idle-timer based approach.
[System.Net.Http]: Always add "Content-Length" in HttpClientHandler.SendAsync().

This has been reported on the forums:
http://forums.xamarin.com/discussion/17770/length-required-error-in-http-post-since-latest-release