/**
  * Sets class wide options, if no option was given, the actual set options will be returned
  * The 'precision' option of a value is used to truncate or stretch extra digits. -1 means not to touch the extra digits.
  * The 'locale' option helps when parsing numbers and dates using separators and month names.
  * The date format 'format_type' option selects between CLDR/ISO date format specifier tokens and PHP's date() tokens.
  * The 'fix_date' option enables or disables heuristics that attempt to correct invalid dates.
  * The 'number_format' option can be used to specify a default number format string
  * The 'date_format' option can be used to specify a default date format string, but beware of using getDate(),
  * checkDateFormat() and getTime() after using setOptions() with a 'format'.  To use these four methods
  * with the default date format for a locale, use array('date_format' => null, 'locale' => $locale) for their options.
  *
  * @param  array  $options  Array of options, keyed by option name: format_type = 'iso' | 'php', fix_date = true | false,
  *                          locale = Zend_Locale | locale string, precision = whole number between -1 and 30
  * @throws Zend_Locale_Exception
  * @return Options array if no option was given
  */
 public static function setOptions(array $options = array())
 {
     self::$_options = self::_checkOptions($options) + self::$_options;
     return self::$_options;
 }