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-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.
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();
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)

Reviewers: HarutM, JP

ChangeLog:
- Move the date conversion logics into the NativeControlObject.
- 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();
TIMOB-9874: BlackBerry: implement require()

[Issues Fixed]
TIMOB-9874: BlackBerry: implement require()

[Changes]
NativeLoggerWorker.cpp
- add newline to message first so the stream doesn't split it up

TiRootObject.cpp
- function executeScript
  - use variables for the bootstrap and app filenames
  - pass the filenames to the calls to Compile()
  - add the javascript filename and line number to the log message
- implement function _require

TiTitaniumObject.cpp
- function _include
  - add the javascript filename and line number to the log message

[Tests]
Test 1: Build and run an app (using .js files from Jira)
1) Put the .js files in the Resources dir so they will get packaged
2) Build, package, and run the app
3) Verify the correct info is shown in the app
4) Close the app, get the log, and verify the "module being loaded!" message is only shown once

Test 2: Crash the app
1) Put an undeclared variable in app.js, a file being included, and a file being required
2) Run the app, verify it crashes, get the log, and verify the location of the problem is shown
3) Remove the offending variable
4) Repeat Steps 2-3 until all offending variables are gone and the app runs successfully
TIMOB-9874: BlackBerry: implement require()

updated require() documentation
put module error string in central location
check if Message() is empty
replace exception->IsString() hack with FIXME
rename v8Id to be more representative
add space in include() error string
Added logging support for trigger scripts