[MIXLIB-30] Malachheb 1.4.0

I added the argument 'in' to specify the valid values ​​of an option like this : 

    option :log_level,
      :description => "Set the log level (debug, info, warn, error, fatal)",
      :in => ['debug', 'info', 'warn', 'error', 'fatal']

I think this feature is important for some options,
Thanks.
Looking at the rest of the code, when an option is specified incorrectly (e.g., the ruby code defining the command line options is incorrect), we raise an `ArgumentError`, but when the user gives incorrect command line input, we print a message and exit non-zero. So we should keep the `raise` and remove the unreachable code in the next lines.