[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 #177 from cmarcelo/notification-update

Add support to tizen.notification.update() and some extra properties