isl_map_coalesce: keep track of information on basic maps in separate struct
In particular, we keep track of the tableau together with the basic map.
It also allows us to make temporary changes to the basic maps without
affecting the map to which they originally belong.
This does require us to explicitly keep track of the basic maps that
have been removed, but this in turn makes it easier to handle
such basic maps because it doesn't cause other basic maps to change
position.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>