Allow complex scheduler hints for AWS Instance

Nova supports providing several values for the same scheduler hint,
in which case the hint value is formed as a list. This functionality was
missing in AWS::EC2::Instance resource.

Change-Id: Id05e4f2ebe89871c1f27f8d97441f3b6cf469dd3
Closes-Bug: #1297667
Fix missed whitespace in attribute description

Change-Id: I763800de395331ce24b8e7d8442ac0f9644aa9f3
Replace str with six.text_type

Replace str with six.text_type so that unicode exception messages can be
safely processed, and the change is PY3 compatible.

Closes-bug: #1295443

Change-Id: Ic27ec365b82797df37ae53f38d5d31e70cb65c67
Avoid referencing Message.__str__ in exceptions

Change exception.py to accommodate future enablement of lazy translation.
Specifically, encode unicode messages to byte strings as gettextutil.Message
doesn't support __str__.

Change-Id: I16ab67c32d2050d83c1b51b84b24c0a60675aff7
Tidy up urlfetch.py exception handling

IOError doesn't seem appropiate for things like invalid URL scheme
and template exceeding max size. And requests.RequestException means
an ambiguous exception occurred while handling requests, not
necessarily an IO error.

Change-Id: Ib8108a5b9bf6d6c99545a1c29735521720d3a75a
Replace str with six.text_type in tests

Replace str with six.text_type in necessary places, so that lazy
translation can be enabled in subsequent patches.

Change-Id: I40732ec7e9f53b3cb487880965797253452f95cd
Merge "Fix missed whitespace in attribute description"
Merge "Replace str with six.text_type"
Merge "Avoid referencing Message.__str__ in exceptions"
Merge "Tidy up urlfetch.py exception handling"
Merge "Replace str with six.text_type in tests"
Merge "Allow complex scheduler hints for AWS Instance"