Adds a new type of error. Fixes #14.

Adds a new type of error, called a ConfigError. This error means that
the program did nothing wrong, but there was a problem with values in
config.txt. This special type of error has the benefit that it is
handled as a special case in ice.py. When a config error happens, it
doesnt show up nearly as painfully to the user, and gives simple
instructions on what needs to happen. More importantly, it also tells
the user what config option gave them a problem.