Warn/raise error when config file is inaccessible

Fixes grnet/kamaki#71

Raise an error if the file is not readable, warn if it is not
writable, add a description to the error message when kamaki
attempts to write to a non-writable config file.
Handle non-ascii characters in config files

Fixes grnet/kamaki#76

* Support non-ascii characters for all values
* Disallow non-ascii characters for all types of options
* Escape control characters in option names and values
Handle SSL unicode bug with grace

Fixes grnet/kamaki#67

SSL module breaks when dealing with non-ascii filenames (known bug).
Catch the Unicode error when it occurs and add an instructive error
message for the kamaki library users.
Check the file name for validity when it is set and inform the kamaki
CLI users.