Fix a bug with the locking code.  Symptoms looked like this:

snis_server would crash, thusly:

(gdb) bt
#0  0xb77c1424 in __kernel_vsyscall ()
#1  0xb75db1df in raise () from /lib/i386-linux-gnu/libc.so.6
#2  0xb75de825 in abort () from /lib/i386-linux-gnu/libc.so.6
#3  0xb75d4085 in ?? () from /lib/i386-linux-gnu/libc.so.6
#4  0xb75d4137 in __assert_fail () from /lib/i386-linux-gnu/libc.so.6
#5  0xb775ed5b in pthread_mutex_lock () from /lib/i386-linux-gnu/libpthread.so.0
#6  0x08054ecf in queue_up_client_updates (c=0x88f7e08) at snis_server.c:3041
#7  0x08055023 in per_client_write_thread (client=0x88f7e08) at snis_server.c:3081
#8  0xb775cd4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#9  0xb769bdde in clone () from /lib/i386-linux-gnu/libc.so.6
(gdb)

pack_and_send_ship_sdata_packet() unlocks the universe_mutex (due to
overzealous refactoring on my part) and can occasionally be called by
queue_up_client_object_update(), which is called by queue_up_client_updates(),
and queue_up_client_updates() assumes that nothing it calls will unlock that
mutex.