map: Redefine map_space_t such that there are only four classes.

Checking for building/castle/flag instead uses map_obj_t.
Map spaces are OPEN, FILLED, SEMIPASSABLE and IMPASSABLE, where the new type SEMIPASSABLE is a space like FILLED except that roads cannot be built there. This type is used for fields, which any serf should be able to pass through but roads are not allowed through this space.
This fixes #98 caused by a recent clean up in FREE WALKING state where serfs were only allowed to pass through FILLED and below. This now changes to SEMIPASSABLE and below.