Use uft-8 encoding for archive IO

When reading and writing files within the archive class use the
codecs module and set the 'utf-8' encoding. This prevents encoding
exceptions if a plugin passes a unicode string to add_string() or
if a plugin attempts to read unicode encoded data from an archive
file via the open_file() method.

Fixes Issue #275.

Signed-off-by: Bryn M. Reeves <bmr@redhat.com>