handling counters
v2.0: Major refactor, tests passing, API changes

Changes:

 - Bump version to v2.0, following semver
 - Adding Riemann.Example, not done yet
 - Adding Riemann.Client as stand-alone, useful in its own right
 - Adding references/links to Riemann/README.md
 - First cut at sending metrics through Riemann/mkEventM
 - LogManager.FlushPending now takes a NodaTime.Duration
 - Config.addRule -> Config.withRule
 - Config.addRules now appends, doesn't overwrite
 - Config.addTarget -> Config.withTarget
 - C# method names on everything in Config, some are extensions
 - Config: Instead of returning LogManager, you need to call asLogManager which
   wraps existing functions nicely and coherently.
 - Changing code standard: removing ';' chars in front of record declarations
   and instantiations.
 - Globals.singleton is now a LogaryInstance to get access to everything that is
   Logary from the internals.
 - LogaryInstance has moved to the main Logary namespace to make it easier to
   work with.
 - New Record type: ShutdownState which informs you nicely about how a
   Logary shutdown fared.
 - LogManager.Shutdown should now be called for an 'ordered' shutdown.
   Dispose can be called if you don't care how it goes.
 - Moving Logging internals to Registry module
 - Registry.Advanced for those who dare - most things aren't usable to a
   consumer anyway. Not everything moved 'to be easy to use' yet.
 - Registry.shutdown and Registry.flushAndShutdown for ordered shutdowns
   throughout, moving away from interface instantiations and unifying
   how it is shut down.
 - Logging.fromTargets moved to Registry, because it's a Rule + Target +
   Acceptor mapping, not something consumers use.