support arbitrary finite domains for gr1c

example: sys_vars['loc'] = ['c', 'a', 'g']

A list must be used, to define a common order to be used by both GRSpec.to_gr1c and gr1cint.load_aut_xml to map between the arbitrary finite domain and int values which are supported by the gr1c solver.

Includes implementation of evaluation given int values, by replacing the arbitrary symbols with the ints according to the ordering defined by the list above.

Creates machine ports correctly and loads the strategy produced by gr1c making the necessary replacements of int values by the corresponding elements of the custom finite domain.