make vehicle cache 3D

minor change: only insert valid points into map::veh_cached_parts, makes it easier to check and remove points as veh_exists_at is synchronous to veh_cached_parts