Close #4.
Partial resolution of #1.
remove rebar-specific structs.
Introduce 'Derivation' struct.

This struct captures information about where a communication originated
from. Additionally, add a boolean field in Communication that determines
whether or not a communication was derived.
Remove 'processedContent' field. Relates to #7.
Existing theories start.
Add TokenAnnotationsList; fixes #13.
Merge branch 'v3.4' into existing-theories
Flesh out theory maps more.
add 'List' to parse list; fixes #4.
Merge branch 'v3.4' into existing-theories
Add UUID to field to uniquely identify AnnotationMetadata objects.
Polish off remaining theories.
Fixes #15 by deleting two unneeded string fields.
Merge branch 'master' into existing-theories

Conflicts:
	thrift/situations.thrift
Fix metadata comment/field.
Killed now-defunct UUID pointers.
Refactor structs; add TheoryDependencies struct in metadata to address
pending issues.

Closes #1.
Closes #6.
Closes #10.
Make TheoryDependencies and subfields optional. Merge TokenTagging lists into one TokenTagging list. Rework 'derivesFrom' into AnnotationMetadata. Require metadata field for Communications.
Kill boolean field. Rework numbers for a bit more future oriented strategy.