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.
Both of the added conditional blocks are quite similar to the existing conditional blocks.