Refactor processor for 0.0.2 schema

Primary changes:

* Strictly typed unmarshalling of metric values
* Schema types are contained by the processor (no "type entity002")

Minor changes:

* Added ProcessorFunc type for expressing processors as simple
  functions.
* Added non-destructive `Merge` method to `model.LabelSet`

Builds on #192 (version 0.0.2 schema) and relates to #185 (static typing of metric values).

The diff on the processor is pretty hairy, so it's probably best to compare the [0.0.2 processor in this pull request][1] with the [current 0.0.1 processor][2]

[1]: https://github.com/prometheus/prometheus/blob/dfd5c9ce288f70b8b6e83425361ee1750a4c800d/retrieval/format/processor0_0_2.go
[2]: https://github.com/prometheus/prometheus/blob/dfd5c9ce288f70b8b6e83425361ee1750a4c800d/retrieval/format/processor0_0_1.go