Disallow anonymous events in schema.
Make component shutdown more reliable.
Use '=' instead of ':' for type construction.

The problem with ':' is that it's more difficult to see visually when type
names contain namespaces, such as vast::packet. Personally, I also find that
'=' has clearer semantics when it comes to type construction.
Avoid copy when reading file contents.
Tweak configuration dependency error message.
Create non-existing file when opening in write mode.
Write schema in textual form.

This allows users to inspect the schema on the filesystem in vast/schema
to quickly get an idea about how to express queries and what indexes exist.