Pre-init support for BlockMemory properties

- "Pre-init" support for BlockMemory properties wasn't working.
- I.e, if you declared an entity and passed in key/vals to initialize
  its properties, BlockMemory types were failing
- I had to add a ThreadLocalBlockMessageWriter to accomodate this
- We want ot send these messages immediately, and not queue
  them, but since BlockMemory messages block counts are only
  known at runtime, we needed a MessageWriter that could
  handle much larger sizes that what you'd want to declare
  on the stack.
- The limit is 64 blocks, 1024 bytes, which accomodates the
  largest possible BlockMemory size.
- Also fixed some issues around string formating of strings,
  i.e "%s", which is now working well