Handle error more gracefully when reading invalid vCard data

This fixes issue #45 by improving the error message displayed when a vcf file
contains invalid vCard data. The name of the offending file is now included in
the error message.
Fix Encoding::CompatibilityError resulting from UTF-8 in contact IDs

This deals with issue #46 by forcing the encoding of the string on the offending
line to UTF-8.
Merge branch '2.3.1'