Added trainer data

- trainer data is an array without a specific end byte. The types finder
was updated to find arrays that don't have a specific end byte.
- the idea of an "assert" was added to the type builder, allowing it to
more easily understand what the data should look like.
- trainer.rb includes the datatype to build the trainers. Note that
their is no nested types yet - those come next.