Add "mode" property.
It describes whether user uses JS Date object or not to set time.

Enyo-DCO-1.1-Signed-off-by: David Um david.um@lge.com
Change "Mode" property from published to private. And added observers for it.

Enyo-DCO-1.1-Signed-off-by: David Um david.um@lge.com
If clock changes "mode", reinitialize ilib date format.
To ensure that no timezone conversion is used, timezone has "Etc/UTC"

Enyo-DCO-1.1-Signed-off-by: David Um david.um@lge.com
Adjust existing API to "direct" mode.

Enyo-DCO-1.1-Signed-off-by: David Um david.um@lge.com
Enforce condition statements.
'0' in data object does not mean that there isn't valid input value.
For example, '0' in month means the first month.

Enyo-DCO-1.1-Signed-off-by: David Um david.um@lge.com
Fix: parenthesis space err.

Enyo-DCO-1.1-Signed-off-by: David Um david.um@lge.com
Stop refresh timer if clock is "direct" mode.

Enyo-DCO-1.1-Signed-off-by: David Um david.um@lge.com
Use existing logic flow.

Enyo-DCO-1.1-Signed-off-by: David Um david.um@lge.com
ANG-6220: Updated Clock sample and Changelog, fixed bug with month index, and handled locale change when date is set directly.

Enyo-DCO-1.1-Signed-off-by: Aaron Tam <aaron.tam@lge.com>
ANG-6220: Updated button text in sample, call updateDate in localeChangeEvent handler, update Changelog text.

Enyo-DCO-1.1-Signed-off-by: Aaron Tam <aaron.tam@lge.com>
ANG-6220: Set default month value as 1 instead of 0 to match existing convention.

Enyo-DCO-1.1-Signed-off-by: Aaron Tam <aaron.tam@lge.com>
Merge pull request #1254 from enyojs/ANG-6220-davidum-master

ANG-6220: [moon.Clock] Add API for specifying clock time components explicitly