Manually merged in Matt's interim snapshot.

Change-Id: I348b65f32b592ee8733dc6fd242ceb2ab9316c25
Draft for metrics collector approach.

Change-Id: Ib38cc46493a5139ca29d84020650929d94cac850
Fixed (kind of) the tests. Updated metric semantics.

Change-Id: I77730a956cac23d687bde15097c53ed66b614c45
Performance optimization.

Change-Id: I391dd1bd91f9fd4e97dcb8d94f3373c1cc1daacc
First step in yet another approach...

Change-Id: Ie64a759e47f11c79f8a14c58cf185435ba12d48d
expvar support.

Change-Id: I21fdb258111430030fde64ccd30e23d82bad7107
Added some TODOs.

Change-Id: I8e92efcb576a3eb372e01daeff3df919a6d9a3d9
Improvements after code review.

- Must... versions of factory functions.
- StaticMetric -> ConstMetric
- Proper doc comment for NewExpvarCollector
- Comments with hints for allocation avoidance

Change-Id: Id491ea753d0039785fc7977c340636c28fb7fab0
Improve doc.

Change-Id: Ia39579963281f9108ed5fa6bcb800561db17cfaa
Replaced License.

Change-Id: I85129310b17c8c02807730ede1e9a0d6dc004a0e
Improved docstrings, some tests.

Change-Id: I34c8c572058cbfa724ee6abec633bb5a3cc4aaa0
Makefile fixes.

Change-Id: Ic46ff78e3c139ec31d60c0725772b8cab826ea84
Some trivial improvements after review.

Change-Id: I21bd9e0d0c15d41b6e8a314de1343bf142eb57ba
Some renamings.

- in MetricsCollector:
  - MetricsCollector -> Collector
  - DescribeMetrics -> Describe
  - CollectMetrics -> Collect
- PresetLabels -> ConstLabels
- dims -> labelValues or lvs

Change-Id: I82ee9b14dd5f766256068570d261700e2ae0a657
Sorting moved from Collector to Registry.

Change-Id: I3603f344eee5b6e9fa3596d86b6e9596232abc3b
Introduced Labels map, simplified WithLabels to With.

Change-Id: Ieb0778a3b48a67c5d64b0ee7d8083b9e051b576a
Collect via channel and concurrently.

Change-Id: Iaf35bb817db1268dfd8cd75b0c5f5c231abe9199