Ensure Function arguments is a list
Switch end and type argument in Rel

start-type-end is more natural to write.
Fix wrong super base class in Create
Add convenience classes for CreateUnique and ReturnDistinct

This is an alternate to passing the respective arguments into the
base class.
Extract identifier or wrap in Value for Predicate subject
Skip delimiting in ValueList if delimiter is None
Extract identifier for Node, Rel, and Path in Return and With

If any of the objects are passed directly the identifier will be
extracted (if defined) and referenced. This prevents having to do
With(entity.identifier) and can now just do With(entity).
Wrap constants, operators, and function names as tokens

The previous utils module has been moved to shortcuts. The delimit
function has been put in the utils module. The base Token class has been
moved to it's own module to prevent circular imports.
Implement StartNode and RelNode classes for start lookups

This supports passing one or more integers or a key and value with
an index name to lookup by index.