lint(track_config): add initial `concepts` checks (#264)
lint(track_config): add initial `concepts` checks (#264)

This commit fully implements these rules:
- The `"concepts"` key is required
- The `"concepts"` value must be an array
- The `"concepts[].uuid"` key is required
- The `"concepts[].slug"` key is required
- The `"concepts[].name"` key is required

And partially implements these rules:
- The `"concepts[].uuid"` value must be a unique, lowercased v4 UUID
  string
- The `"concepts[].slug"` value must be a non-empty, non-blank,
  lowercased string using kebab-case
- The `"concepts[].name"` value must be a non-empty, non-blank,
  titleized string

These rules are not yet implemented:
- The `"concepts"` value must have a entry with a matching `"slug"`
  property for each concept listed in a concept exercise's `"concepts"`
  property
- Each `"concepts"` value must have a
  `concept/<concepts.slug>/about.md` file.
- Each `"concepts"` value must have a
  `concept/<concepts.slug>/introduction.md` file.
- Each `"concepts"` value must have a
  `concept/<concepts.slug>/links.json` file.

exercism/configlet