fix assert to allow 0+ type ids
overzealous assert to change -- length should still not be 0
changed assert messages to match assertion, added unit tests for new asserts
Merge pull request #6 from fritzy/master

asserts should allow type's to be 0 or greater