Starting overhaul of the Variable/Domain classes for type safety
and easier FlatZinc implementation (i.e., variable arrays)
First commit of revamped typed variables/domains system.