use readfp instead of read for better error handling.

Switching to opening the configuration file directly will
prevent ConfigParser from masking errors.  Doing things
this way will raise a normal exception with a traceback indicating
'No such file or directory' or 'Permission denied'

Closes #4