Rewrite config.generatePcapFilename().

 * Fixes #8446.
 * Move attribute for storing sniffer_running state to the top of the file,
   where the other config attributes are.
Move config processing options to new function config.processConfigFile().

 * Change config.loadConfigFile() to return the raw YAML config from
   yaml.safe_loads().
 * Change reports to not be directly a Storage() class, because this
   lead to it's attributes/keys not getting parsed, but instead add it
   to config.processConfigFile() with the other config groups.
Change ooni.director.start() to set config.reports.pcap option.

 * ooni.director.start() is changed in order to set the now instanced
   config.reports.pcap object, rather than calling a function in ooni/config.py
   which sets it.
Add the 'reports' group to the sample config file.
Support CPython with patch from lunar https://trac.torproject.org/projects/tor/ticket/8507
Change None to correct YAML "Null" syntax in ooniprobe.conf.sample.
Merge pull request #70 from isislovecruft/fix/director-unknown-cmdlineoptions

Fix/director unknown cmdlineoptions
Merge branch 'feature/pygeoip'

* feature/pygeoip:
  Support CPython with patch from lunar https://trac.torproject.org/projects/tor/ticket/8507
Merge branch 'master' into feature/probe_ip_lookup

* master:
  Change None to correct YAML "Null" syntax in ooniprobe.conf.sample.
  Support CPython with patch from lunar https://trac.torproject.org/projects/tor/ticket/8507
  Add the 'reports' group to the sample config file.
  Change ooni.director.start() to set config.reports.pcap option.
  Move config processing options to new function config.processConfigFile().
  Rewrite config.generatePcapFilename().

Conflicts:
	ooni/utils/geodata.py