extract out isl_union_single.c
In the next commit, an alternative implementation of isl_union_* objects
will be introduced that allows multiple entries to be defined on the same
domain space, provided the domains are disjoint.
This new implementation will only be used for some isl_union_* types,
whereas others will stick to the current implementation where only
a single entry is allowed with a given domain space.
Extract out the part of isl_union_templ.c that depends on this difference.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>