Rename ms to millisec to be more explicit.

(Common momentary confusion between micro and milli.)
Also rename _s as _sec.  The _usec seems to be usec.
Validate the config.
Sanity check the socketize file argument.
Separate graphite worker creation.

State creation, not thread creation.
Make graphite worker not need the config global.
Rename graphite_arg and graphite_root.

The _arg is very ambiguous, and _root has nothing to with filesystem.
Encapsulate the graphite config.
Make the workers not use global config.
Constify the config for workers.
Make the tcp/udp servers not use the global config.
Reload the graphite worker only if the graphite config changed.
Say it in log messages.
Sanitize check the port number.
Make socketize() a utility function.

This way we can check also the socketize-able config values.
Make config_from_file() dump the config only on failure.
Fix a parsing bug (the added break) in graphite config validation.

Also rename is_valid_graphite_path as is_valid_graphite_target.
trim_space() was valgrind-naughty.
Tell apart initial loading from reloading.

By introducing config generation (and while we are it, epoch).
The only functional difference is that if the first (generation == 0)
config file load, fails, we die.  But after that we just ignore the
failed load and keep the old config.