Fix back-end issue: failed to compile correct Equelle statements.

Since operations defined in AutoDiffBlock return such an object, and not
a CollOfScalar, some functions, for example makeArray() and trinaryIf(),
failed because they were templated on their arguments. This has been fixed
for the cases that have been tested so far. The fixes involved template
specialization and/or using a little metaprogramming.
Back-end: fix makeArray() with heterogenous arguments.