Restore proper license header, which was accidentally removed in a
previous patch.
Add scripts to install and deploy artifacts to Maven.
NativeDate: Update Date.parse to support simplified ISO 8601 Extended Format [15.9.1.15]

- don't use Java's DateFormat to parse/format dates from/into ISO-8601 Extended Format strings since DateFormat doesn't follow the syntax from 15.9.1.15  Date Time String Format
- add DaysInMonth method with same contract as DaysInMonth from jsdate.cpp
- add parseISOString method with same contract as in jsdate.cpp, but use a simple state machine since Java doesn't support macros
- parseISOString supports the following two deviations from the spec:
  1) time-only format, e.g. "08:00:00Z"
  2) timezone descriptor without ':' as separator, e.g. "08:00:00+0100" instead of "08:00:00+01:00"
- parseISOString also supports the same input validation as in jsdata.cpp, the spec isn't really clear what to do with invalid input data
add js_toISOString method to format date values in ISO-8601 Extended Format with expanded year representation if necessary
NativeDate: Date.prototype.toJSON uses [[GET]] to obtain the "toISOString" property
NativeDate: Fix bug 732779 (Date.prototype.setXXX functions don't evaluate all parameters)

Make sure all arguments to Date.prototype.set[UTC]{Milliseconds, Seconds, Minutes, Hours, Date, Month, FullYear} are fully evaluated b/c of possible side-effects. Code also re-sync'ed with jsdate.cpp.

test case:
- ecma_5/Date/setTime-argument-shortcircuiting.js
NativeDate: Date.length and Date.UTC.length is 7

test cases:
- ch15/15.9/15.9.4/S15.9.4_A5
- ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A2_T1
- ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A2_T1