Making stats hero configurable
Exporting app_name, label_fun and upstream_prefixes from app.config
Complete conversion to configurable label aggregation

* Remove stats_hero:label/2. Instead of hard-coding module names in
  this label function, users of this library can specify a {Mod, Fun}
  such that Mod:Fun/1 converts the labels used at instrumentation time
  into binaries. This is a breaking change since an exported function
  is removed.

* Since different apps in a vm may want to use different label
  functions, move the specification of upstream_prefixes and label_fun
  back into the Config proplist used to start a new stats_hero worker
  and avoid putting this data into stats_hero app config. Code using
  the modular_configurable_stats_hero branch will need to adjust
  code to work with this change.

* Label can be any term for ctime/3 and alog/3. If Label is not a
  binary, the LabelFun will be used to convert it to a binary. Note
  that the read function read_alog/2 expects a binary label still.

* Add missing label conversion for alog
More useful error message if Config proplist is missing keys
Cleanup bad request id tests and add case for read_alog
Fix req_time not finalized by a call to report_metrics

After stats_hero:report_metrics has been called, all subsequent calls
to snapshot should return a req_time value corresponding to the timing
sent when report_metrics was called. The end_time was not being stored
in server state when handling a report_metrics message.
Use a string org_name in test to improve test coverage
Add test coverage for a metric not matching defined prefixes
Remove dead code

The extra clause will never match because aggregate_by_prefix already
is selecting only ctimer records. This branch was showing up as not
covered by tests and that's because it can't happen.
Add trivial test for handling of info messages
Add tests for instrumenting using custom label fun
doc update for sf/modular-config branch
Remove unused macro ?gv/2
Merge branch 'sf/modular-config'