Many changes; added SchemaGetter, Snowflake IDs

* Breaking changes in Log5:

  * Guid and GroupGuid replaced with 64-bit Id and GroupId. These are
    generated using a Snowflake ID generator which must be passed in.

  * Group entries are now just a variant type of log entry, with a special
    value of LogLevel. This means groups can have messages attached
	(although the current protocol does not allow or account for this).

* Add a DatabaseSink for Log5, and a LogDb project to describe the
  tables needed for it.

* Add SqlDef / SqlDatabaseDef / SqlTableDef / SqlColumnDef: classes for
  describing a database (database / table / column), and SchemaGetter,
  which reads a database and creates Def classes to describe it.