Updated the implementation of ADate and ADuration to follow the ISO8601 standard. The following changes are included:
- Added new implementation of ADate: now with support to ISO8601 extended and basic representations; internal storage uses an integer as the number of days since 1970-01-01Z; negative year support (proleptic Gregorian calendar system).
- Added new implementation of ADuration: ISO8601 support; now support arbitrary field value (like P120D representing 120 days); support millisecond duration; internally a duration is represented as a year-month field and a day-to-second field.
- Refactored GregorianCalendarSystem implementation to move functions close to their caller (so the class is skimmed).
- Refactored the ATime and ADateTime implementation to follow the same implementation pattern as ADate and ADuration.

This commit fixes issue 106, issue 107 and issue 116. 

git-svn-id: https://asterixdb.googlecode.com/svn/branches/asterix_stabilization_temporal_fixes@338 eaa15691-b419-025a-1212-ee371bd00084
38 files changed