Preliminary support for supplying additional arguments to algorithms

Allow users to supply additional arguments to abbreviations or pre-trained
algorithms (e.g. FaceRecogntion(a=b) is now possible).
Arguments supplied must be key/value pairs, not positional. Any listed
additional properties will be assigned to the first matching transform
using a pre-order traversal of the algorithm tree.
The general issue with previous use of file, was that if we had an algorithm in raw parenthesis (e.g. (A+B)), suffix would be empty, but in this case we are only using the parse conditionally so it doesn't matter.