def get(key, default=nil, &block)
      value = options[key]
      value = default if value.nil?
      value = block.call if value.nil? && block
      return value
    end
def get(key, default=nil, &block)
      value = options[key]
      value = default if value.nil?
      value = block.call if value.nil? && block
      return value
    end
Lookup an option from our options set.

 Examples:

   # Optional parameter whose default value is nil.
   do_extra = opt_set.get :do_extra

   # Optional params that defaults to [1,2,3]
   start_array = opt_set.get :start_array, [1,2,3]

 Returns default value when:
 * Key is non-existent in Options Hash.
 * OR when the value of the key in the Options Hash is nil.

 Returns nil when:
 * Default is nil and the Options Hash lookup returns a nil.
   Options Hash returns a nil because of either a
   non-existent key or a nil value in said hash for said key.