Code cleanups.

* Get rid of ServicePoint.SyncRoot; lock 'this' instead.

* Avoid copying collections in WebConnectionGroup.TryRecycle().

* Optimize ServicePoint's "groups" dictionary: in the vast majority of
  cases, we only have one single web connection group per service point,
  so we don't need that dictionary.

* Remove some locks where they're not needed.

* Misc minor cleanups.
Remove all the debugging spew.