Document the Constant and TEnum AST types (#393)
Document the Constant and TEnum AST types (#393)

This change also improves the TEnum type specifications:
- The initial values map is required
- Values can only be non-negative integer values

Lastly, mention the common `line` and `annotations` fields in the
top-level AST documentation.
pinterest/elixir-thrift