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.
If we define an own exception for this case, we could also move the generation of the error message to the exception class, so that you could just call `Machinery::Errors::UnknownSetting.new(key)`.