Merge branch 'formatReview', remote-tracking branch 'jpl-mac/timob-9388' into formatReview

#Some more info....
Merge branch 'formatReview', remote-tracking branch 'upstream/blackberry' into formatReview

#Some more info....
TIMOB-9395: Blackberry: implement decode/encode URIComponent

Reviewers: DavidC, JP

ChangeLog:
- Implement decode/encode URIComponent

Test Cases:
- Using sample tibbtest project create var with the value of:
  'http://www.example.com/List%20of%20holidays.xml'
- Use decodeURIComponent to decode the uri.
- Make sure it decodes successfully.
- Using sample tibbtest project create var with the value of:
    'http://www.example.com/List of holidays.xml'
- Use encodeURIComponent to encode the uri.
- Make sure it encodes successfully.
TIMOB-9390: Blackberry: implement rest of String.formatXXX methods (other than format)

Reviewers: HarutM, JP

ChangeLog:
- Added new TiDateObject class.
- Added new message constants.
- Implemented formatDate, formatTime, formatCurrency, formatDecimal methods

Test Cases:
- Using sample tibbtest project create var with the value of Date
- Use formatDate(date, [format]), formatTime(date, [format]) in app.js
- Make sure string correctly formatted.
- Try the same with previously changed language.
- Create var with number value.
- Use formatCurrency(number) in app.js
- Make sure string correctly formatted.
- Try the same with previously changed language.
- Create var with number value.
- Use formatDecimal(number, [locale], [pattern]) in app.js
- Make sure string correctly formatted.
- Try the same with previously changed language.

NOTE: locale & pattern not yet implemented for formatDecimal
TIMOB-8843: Complete Layout Handling of UI View (Work in progress)
Reviewers: JP, Harut

Change Log:
- added support for parsing width and height string parameters
- added 'get' property support
- modified NativeControlObject static tables
- added NativeControlObject structures
- added support for getting the 'visible' property
- modified the app.js test app to read visible property

Test Cases:
- build tibb
- build tibbtest
- run tibbtest on simulator
- move slider - label and button should move, button opacity should change
- push button - button should read 'Pushed!', slider should disappear, label should read 'Progress bar is invisible'
TIMOB-9390: Blackberry: implement rest of String.formatXXX methods (other than format) ver2

ChangeLog:
- Address comments.
- Update String.yml apidoc.
- Change the QDateTime to QTime for formatTime method.

Test Cases:
- Using sample tibbtest project create var with the value of Date
- Use formatDate(date, [format]), formatTime(date, [format]) in app.js
- Make sure string correctly formatted.
- Try the same with previously changed language.
- Create var with number value.
- Use formatCurrency(number) in app.js
- Make sure string correctly formatted.
- Try the same with previously changed language.
- Create var with number value.
- Use formatDecimal(number, [locale], [pattern]) in app.js
- Make sure string correctly formatted.
- Try the same with previously changed language.

NOTE: locale & pattern not yet implemented for formatDecimal
NOTE: test snippet available at discussion page.
Merge branch 'formatBranch'; commit '3c93b467' into formatBranch

Conflicts:
	blackberry/tibb/TiRootObject.cpp
Merge branch 'formatBranch', remote-tracking branch 'upstream/blackberry' into formatBranch

#Some more info....
TIMOB-9390: Blackberry: implement rest of String.formatXXX methods (other than format) ver3
Reviewers: HarutM, JP

Review the 99130f8

ChangeLog:
- Remove TiDateObject class.
- Address comments.

Test Cases:
- Using sample tibbtest project create var with the value of Date
- Use formatDate(date, [format]), formatTime(date, [format]) in app.js
- Make sure string correctly formatted.
- Try the same with previously changed language.
- Create var with number value.
- Use formatCurrency(number) in app.js
- Make sure string correctly formatted.
- Try the same with previously changed language.
- Create var with number value.
- Use formatDecimal(number, [locale], [pattern]) in app.js
- Make sure string correctly formatted.
- Try the same with previously changed language.
Merge branch 'formatBranch', remote-tracking branch 'upstream/blackberry' into formatBranch

#Some more info....
Merge branch 'formatBranch', remote-tracking branch 'jpl-mac/timob-9389' into formatBranch

Conflicts:
	blackberry/tibb/TiRootObject.cpp
	blackberry/tibb/TiStringObject.cpp
TIMOB-9390: Blackberry: implement rest of String.formatXXX methods (other than format) ver4

Reviewers: HarutM, JP

ChangeLog:
- Address comments

Test Cases:
- Using sample tibbtest project create var with the value of Date
- Use formatDate(date, [format]), formatTime(date, [format]) in app.js
- Make sure string correctly formatted.
- Try the same with previously changed language.
- Create var with number value.
- Use formatCurrency(number) in app.js
- Make sure string correctly formatted.
- Try the same with previously changed language.
- Create var with number value.
- Use formatDecimal(number, [locale], [pattern]) in app.js
- Make sure string correctly formatted.
- Try the same with previously changed language.

NOTE: Test cases passed with StringObject
Merge branch 'formatBranch', remote-tracking branch 'upstream/blackberry' into formatBranch

Conflicts:
	blackberry/tibbtest/app.js
TIMOB-9390: Blackberry: implement rest of String.formatXXX methods (other than format) ver3
Reviewers: HarutM, JP

Review the 99130f8

ChangeLog:
- Remove TiDateObject class.
- Address comments.

Test Cases:
- Using sample tibbtest project create var with the value of Date
- Use formatDate(date, [format]), formatTime(date, [format]) in app.js
- Make sure string correctly formatted.
- Try the same with previously changed language.
- Create var with number value.
- Use formatCurrency(number) in app.js
- Make sure string correctly formatted.
- Try the same with previously changed language.
- Create var with number value.
- Use formatDecimal(number, [locale], [pattern]) in app.js
- Make sure string correctly formatted.
- Try the same with previously changed language.
TIMOB-8837: <Implement UI.TabGroup elements needed for KS

Reviewers: David C, Alex

[Changes]
- Implemented tab and TabGroup modules with properties needed for KS
- implemented title, icon, window properties for tab
- implemented setAtiveTab, open, and addTab functions for tabGroup
- added support for native control as value of property
- fixed ListView regression crash

[Test Cases]

- make sure we can instance tab and tabGroup and above mentioned
  functionality is working.
 e.g. run code below:

var tabGroup = Titanium.UI.createTabGroup();

var win1 = Titanium.UI.createWindow({
    backgroundColor:'#336699'
 })

var tab1 = Titanium.UI.createTab({
   title: 'TAB1',
   window: win1,
 });

var win2 = Titanium.UI.createWindow({
 })

var tab2 = Titanium.UI.createTab({
   title: 'TAB2',
   window: win2,
 });

tabGroup.addTab(tab1);
tabGroup.addTab(tab2);
tabGroup.setActiveTab(tab1);
tabGroup.open();
Addressed comments.
Addressed issues raised from code review
Addressing code review comments
Merge branch 'formatBranch', remote-tracking branch 'upstream/blackberry' into formatBranch

Conflicts:
	blackberry/tibb/NativeStringInterface.cpp
	blackberry/tibb/TiMessageStrings.h
	blackberry/tibb/TiRootObject.cpp
TIMOB-9390: Blackberry: implement rest of String.formatXXX methods (other than format) ver4

Reviewers: HarutM, JP

ChangeLog:
- Address comments.

Test Cases:
- Using sample tibbtest project create var with the value of Date
- Use formatDate(date, [format]), formatTime(date, [format]) in app.js
- Make sure string correctly formatted.
- Try the same with previously changed language.
- Create var with number value.
- Use formatCurrency(number) in app.js
- Make sure string correctly formatted.
- Try the same with previously changed language.
- Create var with number value.
- Use formatDecimal(number, [locale], [pattern]) in app.js
- Make sure string correctly formatted.
- Try the same with previously changed language.

NOTE: locale & pattern not yet implemented for formatDecimal

Test snippet from app.js:
 //
 // create root window
 //
 var win1 = Titanium.UI.createWindow({

 backgroundColor:'#F00'
 });

var date = new Date();
 var format = String.formatDate(date, 'short');

//var date = new Date();
 //var format = String.formatDate(date, 'medium');

//var date = new Date();
 //var format = String.formatDate(date, 'long');

//var date = new Date();
 //var format = String.formatTime(date, 'short');

//var date = new Date();
 //var format = String.formatTime(date, 'medium');

//var date = new Date();
 //var format = String.formatTime(date, 'long');

var label1 = Ti.UI.createLabel({
 textAlign : 'center',
 text:'Hello, world!',
 color:'green',
 top: 200
 });

label1.text = format;

win1.add(label1);

// open window
 win1.open();