Require all config options to be defined.

Previously if we encountered an undefined config option we allowed it to be set.
This led to a number of options that are no longer used at all and options that
have been renamed, hanging around in config files. In some cases there were
config options referenced in code that were undefined.

Now:
- make the server raise if it encounters an undefined option during
  initialization.
- clean up the config we ship, and add defines for missing options
  (mostly build related)
- check to see if threads die in grr_server. Previously all threads could die
  but the init job would continue to run.
- set up a temporary logging to syslog to record problems with the config.
  Previously config init failures would not create any log messages because the
  logging system hadn't been initialized yet.

Added a section on config variables here:
https://github.com/google/grr-doc/blob/master/releasenotes.adoc
This code runs as part of the client init as well? How will it work for windows? 

Currently we set up a temporary ring buffer for logging before the config file is parsed and then we replay the log to it. I guess with this change the program will abort on config error and so will not get a chance to do anything with the ring buffer. Possibly stderr is not appropriate as a logger because thats always available.