Feature unbounded collections

A metrics gauge has been defined for each collection object specified in #52. A function that returns the metric is defined and set in the constructor of the class that contains the value to be tracked. An exception to this is that the tracking of metrics types is defined in an onReady handler in metricsRegistry.js

An integration test was added which verifies that a value can be retrieved for each defined gauge. If the gauge has not been defined when the integration test is run (e.g. BasicAuthentication.roles) the value is set to 0. If the gauge is defined, the test verifies that it returns a number value.