[WebConfigurationManager] Fix memleak by using a LruCache (BXC#5598)

System.Web.ConfigurationManager had a cache which didn't have any max limit,
therefore when using Restful URIs in ASP.NET (like having some variable
parameter in the virtual path, i.e. /user/{userId}/tracks, where {userId}
is a variable Integer) this was very likely to cause a leak which would
end up causing troubles, like an InvalidCastException thrown by
HttpApplication::PreStart()

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=5598
[System.Web] Coding style nits in LruCache
[man] Update mono version 2.11->3.0
[WebConfigurationManager] Make the max LRUcache size configurable

Using the env var MONO_ASPNET_WEBCONFIG_CACHESIZE, as discussed in BXC#5598
[WebConfigurationManager] Reset LRUcache eviction count in Clear()
[System.Web] Move MONO_ASPNET_WEBCONFIG_CACHESIZE parsing out of LRUcache
[System.Web] Use STDERR instead of STDOUT in LRUcache

As suggested by Marek Habersack
Merge pull request #618 from knocte/aspnet_lru

[WebConfigurationManager] Fix memleak by using a LruCache (BXC#5598)