Encode headers and params
BaseClient currently fails when non-ascii characters are passed in
paramas and headers. This patch ensures those params are correctly
encoded before the request is made.
The patch adds strutils from oslo and updates gettextutils.
Fixes bug: #1182824
Change-Id: I813d745d76700c77f1871b151a76ff8b72ea92d4