Ticket #24646 - Add a list setting for versions to make adding multiple
versions of an application easier.
Ticket #24646 - User lower case version for the replacement token.  Warn if it
isn't included when versions is defined.
Ticket #24646 - Addressing pull request comments.  Use "{version}" for replacement
and don't add extra args to the command properties.
Ticket #24017 - Update icon setting to support '{target_engine}' and
'{config_path}' tokens.
Ticket #24017 - Addressing code review feedback.
Ticket #24017 - Raise exception if token replacement values are not found.
Ticket #24646 - Closes #7.  Updated functionality for the icon setting and support
for the versions setting to make it easier to configure multiple versions of an
application.