Each Sabot Wrapper needs it's own state alloc

Otherwise we end up double-destructing some objects, which causes a
SIGSEGV wiht GCC 4.9

This is the code gen version of issue #13

Fixes issue #62

Tested by hand fixes issue, running 'make lang_test' to verify doesn't break compilation of anything: 

Hand test:
```bash
#Run orlyi
orlyi --iname=foobar --starting_state=SOLO --create=true --mem_sim --mem_sim_mb=512 --mem_sim_slow_mb=1024

#compile the package
cd orly/lang_tests/samples
orlyc databse.orly -m -d -o /tmp
mv /tmp/database.1.so ~/projects/src

#Run orly_client
../out/debug/orly/client/orly_client -la -le
orly_client[29017]: log started
orly> install database.1;
orly> new fast private pov;
pov_id = 5fa5ae89-877c-37b3-64f2-b0dec5eb5e3e
orly> try {5fa5ae89-877c-37b3-64f2-b0dec5eb5e3e} database write_val <{ .n: 101, .x: 5 }>;
true
```