Accept translated exceptions in exceptions.handle

If an exception with a translated message is thrown into
horizon.exceptions.handle, a UnicodeEncodeError is thrown in logging calls.

Also added in a test for this behavior.

Change-Id: I0bc71477d836daa0e27cdb10646b748fdc963f5d
Closes-Bug: 1284827
Sort security group rules by protocol and port

When adding new rules to a security group, it is useful to have the
rules sorted consistently across page reloads. This patch ensures
that the rules are sorted by protocol first, then by port. It is still
possible to manually sort the table using the client side capabilities,
but by default the table is now sorted by protocol and port, server
side.

Change-Id: I36d29461a8437f5689425706a7faae3399c6bf23
Closes-bug: #1326132
Merge "Accept translated exceptions in exceptions.handle"
Merge "Sort security group rules by protocol and port"