CB-7070 Don't create hooks/ if it already exists
CB-6992 Fix ios platform add/prepare when app name contains unicode chars

It is necessary to normalize characters because node and shell scripts handles
unicode symbols differently.

github: close #40
Add --captureExceptions flag to jasmine

Without this flag exceptions such as bad syntax of missing modules caused all
the tests to abort but the exit status was still 0. CI tools interpret this as
successful test.
Look at the old uri in config.json in addition to the new url (i vs. l).

For backwards compatibility. In case someone has scripts tat pass extra JSON
config to cordova create.
Remove npm-shrinkwrap.json

After some discussion, looks like the lib doesn't need a shrinkwrap. The one
in end-user tools (CLI, plugman, etc.) should take care of freezing the deps
for the tools to work.

In CLI, the shrinkwrap file be created temporarily for release and
then removed again, updating the coho docs with this:
http://github.com/apache/cordova-coho/blob/master/docs/tools-release-process.md
CB-6776: Fix uri/url renaming bug

Another backward compatibility issue with tools that provide custom
url for platform files as part of extra config passed to create.
CB-7087 Retire blackberry10/ directory
CB-7067 run jasmine tests individually

`superspawn.spawn` `opts` now take `onstdio` and `onstderr` to
incrementally handle output from child processes.

`npm run jasmine` now runs `jasmine-serial` instead of `jasmine-node`

`jasmine-serial` runs each test that `jasmine-node` would have run
in the same order `jasmine-node` would have run them using
`jasmine-node` with any command-line arguments you pass it (that
`jasmine-serial` supports).

`serve.spec` now skips tests for platforms for which it's missing
the required binaries.