Bring Makefile up to date
Use generic Py3 trove classifier
Call warn with warning instances
Fix #3
Fix name length handling
Add cycle detection to dir tree builder
More work on #2

Replacing unit tests with functional tests and actual corrupted example
files drawn from the spec's example. 100% coverage on entities in this
commit.
More work on #2

100% coverage on streams module now