OpenTSDB writers follows the pattern introduced in BaseOutputWriter

Note that error reporting via lifecycle / validation exceptions is significantly worse than previously. This has been done to prevent constructors from being overly complex. Re introducing good error checking without too much complexity would be easier if we completely removed the settings Map, but that would introduce a non backward compatible change to the JSON file format.