[Time] Change the way SyncMessage and SyncReply are sent
[Time] Add isDST, getPreviousDSTTransition and getNextDSTTransition
[Time] Add GetTimezoneAbbreviation()
[Notification] Create a function to extract properties

As we start to support more properties, the NOTIFICATION_PROPERTIES
array will get filled.
[Notification] Do not keep separated copy of notifications

Notification object is essentialy as a "property bag" to be used in
conjunction with tizen.notification.* functions. Now that we have
v8tools.forceSetProperty() we can keep certain properties read-only and
do not need to worry about user changing the notification, so no need to
keep our own copy of the data.

Note that since Notification API doesn't rely on GC to identify
notifications that should be removed, one needs to explicitly call the
remove function, or wait for user removal via the UI.
[Notification] Remove mentions to thread-safety from NotificationManager

We don't call this object from multiple threads anymore. Just updating
the commentary.
[Notification] Make notification IDs assigned by native side

We share the same id-space for notifications in Mobile, so makes more
sense reuse the assigned IDs from the native notification library. This
reduces the mapping work we have to do.

To achieve this we had to change the 'NotificationPost' message to be
synchronous, enabling us to throw errors correctly when there was a
failure posting the notification.
[Notification] Add update() support for Desktop

Added a new message 'NotificationUpdate' that will update an existing
notification. This can be tested in the example by clicking the
"Update (N)" button.

This commit creates a helper struct to ease extracting the parameters
from the message we receive. As we start to pass more parameters, we
fill this struct.

Note that Desktop will support only a subset of all possible properties
that a notification can have.
[Notification] Add update() support for Mobile
[Notification] Add support for PROGRESS status type

This adds support for the PROGRESS status type and its related
properties: progressType and progressValue.
[Notification] Don't create a picojson::value to get "null"

We know upfront what serialization for a null value is, don't need to
use picojson to get it. This also clarify what the code is
doing (sending a null value as reply).
[Notification] Check for failures when parsing id from messages

Create a helper function to verify before trying to get a numeric value
from a picojson::value.
Merge pull request #179 from ricardotk/wip

[Time] Add new features
Merge pull request #177 from cmarcelo/notification-update

Add support to tizen.notification.update() and some extra properties
[SystemInfo][DeviceOrientation] Remove 'Unknown' in status to fix TCT failure
Merge pull request #181 from fyraimar/fixdo

[SystemInfo][DeviceOrientation] Remove 'Unknown' in status to fix TCT failure
Merge pull request #144 from deqing/fix-tizen-exception

[download] Add exception handling
[SystemInfo] Use singleton model to support multi frames

The old design is one frame one set of listening mechanism. So when there are multi-frames,
there will be multiple sets of events. However, the vconf only support to register the first one
when asking twice for the same vconf_notify_key_changed with same Key and vconf_callback_fn
and the others will be ignored. So, the old framework couldn't resolve the vconf issue.

The current design uses singleton event listening mechanism.
Every property object (such as: cpu, local, storage ...) is singleton.
Each of them will maintain an according events list. Use StartListening(Context* api) to
push back the current context to the according list. Use StopListening(Context* api) to
remove the current context from the list. When the property value changed,
iterate the list to post message to all the listenng context.
Merge pull request #155 from qjia7/master

[SystemInfo] Use singleton model to support multi frames
[Time] Add getAvailableTimezones