Python3: fix test_stack_list_with_args()

The expected_url in test_stack_list_with_args() does not always match the URL
actually used in the code. This patch fixes this issue by:
- using urlutils.urlencode() in both the code and the tests, so that changes in
 the urlencode() implementation do not affect the tests;
- setting the PYTHONHASHSEED environment variable to 0 when running the tests,
  so that randomisation is disabled and urlutils.urlencode() has predictable
  results.

Change-Id: I5b50bad98f5c237cdc12e4ab75f21917ca0ef30d
Remove unused versions define in template_format.py

Remove unused 'HEAT_VERSIONS' and 'CFN_VERSIONS' define in
template_format.py.

Change-Id: I32202662ff62bc3e57b3af73b4163d2378887901
Deprecate create/adopt --create-timeout in favor of --timeout

Replace the --create-timeout option with a more generic and intuitive
--timeout option, which can also later be used for update.

Since users may be using this option and it does currently work, leave
the old -c/--create-timeout option for now, but mark deprecated in the
usage and output a warning message if users use it.  To make this
warning visible the default loglevel is changed to WARNING.

Note neither timeout contains an integer default now, we rely on the
server-side default (which is 60mins anyway) as this make the fallback
to support the previous option easier and potentially to provide an
easier way to solve heat bug #1290603.

Partial-Bug: #1290456
Related-Bug: #1290603
Change-Id: Ia8c8d61b259ffa1f8a59d29a3e7fa7d9c128984f
Add timeout option to stack-update

The API spec says the PUT which handles stack-update accepts a
timeout_mins argument, so add CLI support for it, making the
interface consistent with create/adopt.  Note this argument
currently isn't respected by heat, ref bug #1290603

Change-Id: Ie8d51540d0d93be51966e60601fd02d635cdae09
Closes-Bug: #1290456
Related-Bug: #1290603
Merge "Remove unused versions define in template_format.py"
Merge "Python3: fix test_stack_list_with_args()"