Move TimedDictionary's enumerations out of scope

* Also, rename IReadOnlyOrderedHashSet to IReadOnlyOrderedSet, and add
  an indexing property.
Fix ILogger.Count and Functions.JsFormat

* ILogger.Count's behavior was changed to bring it in line with the MDN
  specification (when a label is provided, the count is per label, and
  not per call site.

* Functions.JsFormat was misaligned for certain configurations of
  parameters.
Fix IReadOnlyOrderedSet for .NET 4.0

* Rename the file to reflect its recent name change (from the old
  IReadOnlyOrderedHashSet.cs to IReadOnlyOrderedSet.cs).

* Change the base class for .NET 4.0 to IReadOnlyCollection<T>.