Support non-ascii file upload with ckanclient

Currently, ckanclient throws errors when trying to upload non-ascii file (mainly with latin1 encoding).
This code proposes some changes to support any time of encoding as it does not "opening" the files to be uploaded.
Also adds some exception management at the file upload level.