add check for swimmable terrain instead of only impassable
Workaround for #4497 sigsegv in vehicles on fire

Basically skips all code where the game attempts to act on invalid vector
elements, eg myVector[randomNumber(0, size)] when size==0.

Conflicts:

	vehicle.cpp