ENYO-1990: replace optimist by nopt in fs test suite

- also partially use npmlog instead of console.log as a side-effect
  of modified parameter passing.

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2291: allow `mkdir -p` when using MKCOL

- also do not fail (409 conflict) on creating a folder that already
  exists.

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2291: remove old express-2.x code

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2291: do not re-assign the context of common-us callbacks

- clarify return clauses
- do not call `bind()` on `next()`

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2291: cleanup: prjToolkit => genZip

- remove references to openwebos
- change service name in accordance to its id

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2291: cleanup: cosmetics

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2291: copy enyo.setObject() & enyo.getObject() into ares namespace

- those method will disappear soon from Enyo (being replaced by
  non-syntax compatible enyo.setPath and enyo.getPath), so copy them to
  work on both enyo-2.2.0 (non-MVC) & enyo-2.3.x & later (MVC)

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2291: wire separated build/install/run

- now 3 distinct operations, wired from event emitted by ProjectList,
  bubbled-up & executed by ProjectView, depending on the services
  available in ServiceRegistry.
- replace `project` trampoline `Object` by `Ares.Model.Project` that
  allow for storage of project values for the duration of the current
  session.  Avoid storing those new `build` and `test` value to
  localStorage.
- start documenting the `build` interface

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2291: genZip: do not crash Ares on HTTP timeout/error

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2291: genZip: exit with backtrace in case of unexpected exception

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2291: clean: fix bogus default Onyx menu height & remove dead code

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2291: add icons for install/run/debug

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2291: avoid Chrome DOM Exception

remove old ENYO-970 workaround that causes:

http://stackoverflow.com/questions/3488698/invalid-state-err-dom-exception-11-webkit

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2291: decrease verbosity again

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2291: fix PhoneGap build, broken by new `Ares.Model.Project`

- Updated `appId` is to be stored in the `Ares.Model.Project` only if
  non-empty.  Otherwise an existing `appId` is lost over an
  un-successful build attempt.

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2291, ENYO-1420: improve PhoneGap build error management

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
Merge branch 'master' of github.com:enyojs/ares-project into ENYO-2291

Conflicts:
	project-view/source/ProjectList.js
	project-view/source/ProjectView.js
ENYO-2309: Fixed Analyser name conflict with FireFox 20

Enyo-DCO-1.1-Signed-off-by: Yves Del Medico <yves.del-medico@hp.com>
ENYO-2309: Fixed Serialyzer name conflict with FireFox 20

Enyo-DCO-1.1-Signed-off-by: Yves Del Medico <yves.del-medico@hp.com>
Merge pull request #278 from enyojs/ENYO-2291

ENYO-2291: add new install/run/debug operations