Support string to STALanguge conversions for doc set index strings

The language table in a doc set index stores a long form of the language
name rather than the short form used by apple_ref anchors.
Set up designated initializer for STASymbol

- Support specifying language and type information as enums values
  rather than strings.
- Support specifying the relative path directly as an optimization to
  avoid manipulating file URLs.
Declare STASymbol properties readonly
Add STAAdditions
Add STAProgressReporter
Move HTML indexing to STAHTMLDocSetIndexer
Create the relative path for symbols in the HTML indexer

This cuts down on indexing time by further reducing URL manipulations.
Limit the scan to the Documents folder if it exists

Some doc sets include large directories of files outside of the HTML
documents directory, not scanning these to check if they are HTML
documents reduces the delay in obtaining a count of files for progress
reporting.
Add fast but evil database indexer

This indexer is evil because it reads directly from the SQLite Core Data
database that serves as the doc set's index. However, in some cases this
is the only good source of API information. For example, appledoc does
not include anchors for any of its classes or protocols, resulting in
the HTML indexer extracting very little useful information from such doc
sets.

The database indexer is also much faster than HTML indexing, to the
point of being able to extract all API tokens from a platform doc set in
under a second.
Add CHANGES.md