Conservatively check actor positions (fixes #306)

Spawning was using TryMoveActor() to both
check and spawn actors. Unfortunately,
TryMoveActor() also contains routines for
modifying the movement vector to make it
slide around obstacles. The resulting position
can be invalid. Instead, a much more
conservative method was implemented to
check the validity of spawn positions. The
spawn position must be legal, and be
completely clear of other items.