SCHEMA-617. DSL for Avro schemas and values

Simple DSL for Avro schemas and records:
 - parser from DSL text representation into Avro schema and value objects.
 - functions to serialize Avro schema and value objects back to DSL representations.
DSL is implemented as Scala parser combinators and can hence be integrated in the KijiSchema DDL.
DSL support recursive schemas (some edge cases are still left unhandled).

issue: https://jira.kiji.org/browse/SCHEMA-617
review: https://review.kiji.org/r/1493