Added tests for BlockMemory, fixed a couple issues

- u8 indexes are now returning 255 for invalid index, not -1... u8's
  don't work like u32's
- Datastructure seems functional, ready to start using in Compose for
  strings