Collate component

Renamed the accumulator component to collate (to collect). Completed
the implementation of collate by using a internal observer array. We
need to move this to either the Component class or the Observer class.
Having a simple array of observers is good because we are not creating a
intermediate Observer object for each subscription. All observers are
called using setTimeout to avoid errors in one observer affecting
others.

A lot of TODOs left in the collate code.
Fix bugs in Collate

Defined Collate using the Class utility and add it to the correct
namespace of uibase.Components.
Create Count component

Create a child of Collate component to count the number of events that
have occured.
Add Map component.

Map component transforms the values of a event stream with a given
function. Implement Collate component with Map.
Implement Collate component with Map.