Implemented settings frame work.

Added class Settings which handles reading and writing machinery's
configuration file. The file default_settings.rb contains the
default values used when no configuration file is present.
Write failed is a very generic error. I'm not sure that it adds value to define it. We could just use the generic `MachineryError` instead.