WEBOSLCD13-70662: add enyo.isNonLatinLocale

In order to easily fix WEBOSLCD13-70662, the settings app needs to
be able to make the same latin/non-latin decision about a locale
that the glue code does. To facilitate this, I've isolated the code
into a separate function so that the settings app can call it.
WEBOSLCD13-70662: add enyo.isNonLatinLocale

In order to easily fix WEBOSLCD13-70662, the settings app needs to
be able to make the same latin/non-latin decision about a locale
that the glue code does. To facilitate this, I've isolated the code
into a separate function so that the settings app can call it.
Merge branch 'WEBOSLCD13-70662' of github.com:enyojs/enyo-ilib into WEBOSLCD13-70662
Merge pull request #65 from enyojs/WEBOSLCD13-70662

Isolate the isNonLatinLocale function

Reviewed-by: Aaron Tam (aaron.tam@lge.com)
Update to ilib build 20140515-build-6.0-002

The GregDate object was not calculating the offset when the time zone is "local" and the instance was created with something other than the time components (ie. it was created with a julian day or unix time for example). The methods that used the offset, such as getDayOfWeek(), were therefore only calculating things in UTC.

Added various unit tests to verify that it is working properly now.

Update the methods on ilib.Date that set the date components so that they recalculate the RD based on the new component.

The date formatter no longer throws an exception if you attempt to format a date object that is in a different calendar than the formatter. Instead, it just converts it to the formatter's calendar and formats the result.

Made the demo site work properly with time zones.

Fixed problem where zone info was being loaded dynamically per locale, and another problem when constructing a time zone instance with an id that is specified with an ilib.String instead of a javascript string.

Unit tests added to verify the new functionality, and all tests pass.
Merge pull request #68 from enyojs/20140515-build-6.0-002

Update to ilib build 20140515-build-6.0-002

Looks good!

Reviewed-by: Aaron Tam (aaron.tam@lge.com)
Update to 20140520-build-6.0-003

This is a simple change to add the ability to the time zone class to
specify the DST transition times using a julian day rather than via
the transition rules. This allows us to use the system zone info which
do not contain the rules, but pre-calculated dates when the
transitions happen.
Merge pull request #70 from enyojs/20140520-build-6.0-003

Update to 20140520-build-6.0-003

Looks good, tested on relevant samples.

Reviewed-by: Aaron Tam (aaron.tam@lge.com)
Update to ilib 20140506-build-6.0-001

* Date objects clean-up
    * All date objects for all calendars are based on a rata die (RD) date that is in unambiguous UTC, and the time zone is used to offset that to the desired zone. Previously, only the Gregorian calendar dates were.
    * Code is simplified and a little smaller as a result
    * Calculations for the day-of-the-week still occur in local wall time instead of in UTC, as UTC may be on a different day than the local time
* Time zone clean-up
    * Split time zone info into separate files instead of one big one
    * Split the timeszones.json file into a whole bunch of separate zoneinfo files. This means less memory needed, as you don't have to load all the zones at the same time.
    * Changed the zone info compiler (zic) to write out the separate files
    * Changed the assembly tool to assemble all the zones used for each locale, plus all the generic zones
    * Modified ilib.TimeZone to load in individual zone info files, instead of one big one
    * Created an ilib.Loader interface to be able to get more information about the files available on disk for dynamic loading than is available with just a loader function. (Though the old style loader function is still supported.)
    * Modified the node glue file to implement the ilib.Loader interface for nodejs
* Added the missing node based build tools to the shipping src tar
* Updated time zone info to IANA 2014b

Bug Fixes:

* Fixed a minor problem with time zone abbreviations in Danish, Norwegian, and Swedish
Update glue files

Update the glue files for enyo and for nodejs so that they conform
to the new ilib.Loader interface instead of implementing the loader
callback function.

Needs testing.
Modified the enyo-ilib glue code to get it working with the latest
ilib build and to implement the new ilib.Loader interface. This has
the side benefit that the 404 errors are now gone because it loads
the ilibmanifest.json file to tell what files are available to load
and it checks this first before attempting to load them.

Plus, updated a few of the samples to fix some oddities.
Checkpoint commit

This is the start of the code that can read the Unix zone info
files directly and convert them into a format that ilib can
understand and use. It doesn't work yet.
PackedBuffer now works properly

Another checkpoint commit. The zoneinfofile class still needs
work.
Added unit test files

This will help to verify the packed buffer and the zone info binary
file parser classes.
Checkpoint commit
Added more unit tests for the zone info class
Added more unit tests for the zone info class.
Checkpoint commit

Things are not working yet, but they are better than before.
Another checkpoint commit

Now parses the zoneinfo files mostly correctly. The usesDST method
seems to work properly. Now need to fill in the info for the other
methods.
Added implementation of getRawOffset

Still some problems with it though...