proper logging
support running from anywhere
bugfix: re-yield limited graphs/targets on data refresh

reset the limits at the start of all targets/graphs yielding,
without this, after refresh_data() graphs would become {}
and i.e. 'packets received_timer' target would become unavailable.
bugfix: fix data_ready() check, avoid bogus 'server is building..'

graphs_all, targets_all and even metrics can be empty, depending
on configuration.  that doesn't mean the data is not ready.

this fixes a bug where the app would say "server is building
datastructures" just because graphs_all or targets_all was empty,
which was especially nasty in combination with the bug that's fixed
in the previous commit.
clearer msg when server still busy building datastructures
bugfix: prevent other timer metrics showing up as histogram bins

also, confirm suspicion wrt regex slowness