TIMOB-8826: <Implement UI.Picker>

Reviewers: Davic L, JP

[Changes]
Implemented UI.Picker module and following API for this module:
properties: minDate, maxDate, type, value, width, height, left, top
functions: setters and getters for the properties
events: change
 - value property (only this property is meaningful for the date/time
   picker

Note: since bb cascades supports only date/time picker.

[Test Cases]
- clean and build tibb and tibtest
- in JS create a picker
- make sure all the mentioned properties/functions/events are working
addressed comments
Addressed comments:
Speed up tibb build

[Description]
The Titanium Mobile Platform Development doc says to use NUM_CPUS to parallelize the build so now that env var is utilized.

[Changes]
tibb/Makefile
- added J_OPTION to make commands to use NUM_CPUS if available, or 1 if not

[Tests]
Test 1: Build tibb
1) Set NUM_CPUS env var to the maximum number of supported cpu threads
2) In tibb directory, run make all
3) Verify the j option is passed to the target's make command
Addressed comments
TIMOB-9389 & TIMOB-9407

TIMOB-9389 Blackberry: implement String.format numbered specifiers support
TIMOB-9407 Blackberry: add support for StringObject in the String formatting methods

Changelog:
- added support for numbered args in format
- update apidoc + extra condition
- Support StringObjects where String is expected
- convert non string objects using ToString
NOTE: our Ti objects currently don't support toString correctly and crash when hitting that code.  TIMOB-9665 has been created to track that issue.

Tests:
- Verified converting non string objects when string is expected works except for Ti objects
-- Tried both as format string and as string param
- Verified that StringObjects work just like a string
- Verified using numbered args works correctly, and that using the same arg multiple times in the same format string also works as expected.
TIMOB-9389 & TIMOB-9407 part 2

TIMOB-9389 Blackberry: implement String.format numbered specifiers support
TIMOB-9407 Blackberry: add support for StringObject in the String formatting methods

This patch is to move the native code into a Native class accessible via the objectFactory.  It also attaches the string methods to the builtin String object rather than overriding it.

Changelog:
- add the String methods to the Global String object
- moved native logic to a Native* class
- added NativeObjectFactory::getNativeStringInterface
- moved create string methods to a function in TiRootObject
- silence compiler warnings
- remove implementation of JSON and decode/encodeURIComponent that are built in V8
- fixed include order in NativeObjectFactory.cpp
New files:
 - NativeStringInterface.*
Deleted files:
 - TiJSONObject.*
 - TiStringObject.*

Tests:
- Verified that tibb and tibbtest build correctly and the format method is accessible on the String object
- Validated that String, JSON and its methods and also encodeURIComponent/decodeURIComponent built-ins are now available and usable
Use ToString on all types when a string is expected
Support NumberObject's

Tests:
- Validated that ToString can be called on any type of arg and does the same behaviour as seen in Chrome JS console
- Validated that NumberObjects can now be used in lieu of Number primitives and yield the same result
TIMOB-9306: Blackberry: add a universal logging mechanism for tibb

[Issues Fixed]
TIMOB-9306: Blackberry: add a universal logging mechanism for tibb

[Added]
NativeLoggerInterface.h
NativeLoggerObject.cpp
NativeLoggerObject.h
NativeLoggerWorker.cpp
NativeLoggerWorker.h
TiLogger.cpp
TiLogger.h

[Changes]
NativeAbstractTextControlObject.cpp
- switched to use N_DEBUG

NativeObject.h
- added N_TYPE_LOGGER
- removed old Ti_DEBUG

NativeObjectFactory.cpp
- added N_TYPE_LOGGER

TiUITableView.cpp
- switched to use Ti_DEBUG

TitaniumRuntime.cpp
- initialize TiLogger

[Tests]
Test 1: Use logger
1) Put some Ti_DEBUG and N_DEBUG statements in the code that will be run
2) Build tibb and verify there are no errors
3) Create, build, and run a new project
4) Verify the logging statements are in the app's log and are not intermingled
Addressed comments
TIMOB-9306: Blackberry: add a universal logging mechanism for tibb

Disables copy ctor and assignment operator, plus added comment.
Speed up tibb build
Changed so the top-level make's -j param isn't overwritten
Merge pull request #83 from dlifshitz-maca/use_NUM_CPUS_01

Speed up tibb build
Merge branch 'blackberry' into dateTimePicker

Conflicts:
	apidoc/Titanium/UI/UI.yml
	blackberry/tibb/NativeContainerObject.cpp
	blackberry/tibb/NativeControlObject.cpp
	blackberry/tibb/NativeControlObject.h
	blackberry/tibb/TiRootObject.cpp
	blackberry/tibb/TiUIObject.cpp
Merge pull request #81 from Harutyun/picker

TIMOB-8826: <Implement UI.Picker>
TIMOB-9306: Blackberry: add a universal logging mechanism for tibb

Changed to use streams instead for easier appending
Added tagged macros
Changed naming of s_nativeLogger and TI_DEBUG
Removed the arg name in function definititions

For unimplemented functions I kept the arg name for the arg I know will be used when the function is implemented.
Merge branch 'blackberry' into timob-9389

Conflicts:
	blackberry/tibb/NativeObjectFactory.cpp
Merge pull request #84 from jpl-mac/timob-9389

TIMOB-9389 & TIMOB-9407
TIMOB-9306: Blackberry: add a universal logging mechanism for tibb

[Added]
NativeMessageStrings.cpp
NativeMessageStrings.h

[Changed]
Moved debug strings to central location
Removed unused function TitaniumRuntime::Log