Add BlackberryNDK script for ndk related operations

Changelog:
- Added UnitTest context manager class to be used to simplified unit tests implementation
- Added BlackberryNDK script to encapsulate interactions with the ndk tools
- Start using the blackberryNDK class in project.py and blackberry.py
- added .swp extension to the ignore list of the sdk packager
- add importing of a new project in a workspace so it can be built
- refactored builder.py a bit
- add execute flag on builder.py and blackberry.py

NOTE: The paths for windows will need to be validated and updated if necessary

NOTE: the project name must match in the .project file and in the folder name for the import and build steps to work.  (This is an issue for as we copy the HelloWorldDisplay sample, but will be resolved once we create our own project.)
There must not be any spaces in the project name or path to the project for the build to succeed.  Will have to work that issue out with the studio team and possibly RIM as it's a shortcoming of their tools.

TESTS:
All BlackberryNDK unit tests are successful

Built and installed mobilesdk and successfully created a new project with the name HelloWorldDisplay and then successfully build and run it on the simulator using the project and builder scripts from command line

./project.py HelloWorldDisplay com.macadamian.helloworlddisplay ~/src/tsw blackberry

blackberry/builder.py run -t simulator -d ~/src/tsw/HelloWorldDisplay/build/blackberry/HelloWorldDisplay -p someNdk
Use BlackberryNDK in builder.py

This patch removes all os.system calls from builder.py in favour of using the BlackberryNDK class to encapsulate all the work.

CHANGELOG:
- Fixed a bug in BlackberryNDK constructor so we at least test for wrong ndk path and not blindly assume that the supplied path is good
- implemented build, package and deploy methods in the ndk class
- Added unit tests to test the new methods, some tests need the bar file to succeed, kept them commented with todo comment.
- Also chained the unit tests to not repeat all the same steps at each test
- Use the ndk class in builder.py
- added support for the type parameter + added deploy type for device-release
- added auto detection of the ndk path for dev purposes

TESTS:
- Tested that the script still builds and runs the hello world on the simulator properly
- All complete NDK unit tests run correctly
- Tested all different build types
- Tested that the script runs well with or without the ndk path specified (needs to be in a default location to be autodetected)
Rename blackberryNdk to blackberryndk step 1 of 2
Rename blackberryNdk to blackberryndk step 2 of 2
Fix issues on windows

- fix setting env
- fix setting the sys path for import of tiunitest
- fix testing source by removing env that is not set on windows
- remove unused shlex import
Merge pull request #21 from jpl-mac/tiapp

Add BlackberryNDK script for ndk related operations
Merge remote-tracking branch 'upstream/blackberry' into builder
Merge pull request #22 from jpl-mac/builder

Use BlackberryNDK in builder.py 
Add eclipse formatter file for the blackberry C++ code
Add .o files to .gitignore
Merge pull request #25 from jpl-mac/formatter2

Add eclipse formatter file for the blackberry C++ code