Make interpreter shared between Server and World.

World used to own it, which made a lot of sense in lots of ways, and
now it's a lot less pretty, but oh well. The Interpreter architecture
should have been different.
Client can upload subprograms.
Player has option to replace existing subprograms.

compile --replace
Made byte extraction check length.

also adjusted some delay values. And I have no internet and no coffee
so that's all for now.
Fix segfault on exit.

Used to delete world even if there wasn't one
Program errors hurt puppets, and even kill them.
Merge branch 'serverside_interpreter'