[Time] Add getAvailableTimezones
[Time] Fix TZDate constructor

Both date and timezone are optional.

Now supporting the following example:

foo = new tizen.TZDate(null, "Europe/Berlin");
[Time] Change the way of construction of TZDate

This will reduce the possibility of mistakes between things
like getDate() and getDay().
[Time] addDuration is now throwing exceptions
[Time] Add the checks for timezone property
[Time] Solve instanceof problem

Some tests are checking the type of methods return.

For example:
assert_true(returnedValue instanceof tizen.TZDate, "TZDate check");

The way tizen.TZDate was implemented, some methods were returning
instanceof 'undefined'.

Now with this other way to implement tizen.TZDate, the methods are
returning the correct 'instanceof'.
[Time] Fix timezone -> timezone_ mistype
[Time] Fix unecessary check
[Time] Properly format toDateString, toTimeString and toDateTimeString