Merge pull request #48 from chipdude/master

had missed usage of connect_ms in dial()
fix http_error as the common base class for all http errors
work around task_interrupted exception being thrown inside c-ares callback.
missed throw specifier for task_interrupted
use %g for json floating point output
Generally renovate json_stream:
  add inline on inline function in header (would be link error)
  restore ostream's flags in jsonstream destructor
  char, char16_t, and char32_t are not treated as integers
    (signed char and unsigned char are)
  use [=] in lambdas for small values
  eliminate need for json_stream.cc through creative enum use
  change "x" to 'x' in ostream <<
  reduce object bloat by making transition() call non-template _transition()
  merge duplicated code in _transition()