Allow Eval instances to have a textual name
Allow Eval instances to have a textual name

Using the functions to create Eval instances creates some
anonymous classes that allow for and unallow constrainment.
These instances are simply memory addresses, when `toString`
is called on the references. For usage in the REPL, and for
general tracing purposes, a name for the instance would be
useful, with a reasonable default name also defined.

Signed-off-by: Gary Pamparà <46654e9f53f0e5c1be5f3914582d375e0aa2156c@gmail.com>

cirg-up/cilib