ENYO-3506 Make all AJAX request cancellable

Any AJAX request used should be "cancelled" in the cancellation event handler so that no callback function can resume a cancelled operation.
ENYO-3676: currentProject is now relayed to projectList.selectedProject...

.. this avoids storing selected project in 2 different places
ENYO-3676: removed this.selected attrubute (use this.selectedProject instead)
ENYO-3676: enable selection of newly created project
ENYO-3506: enable cancel button on all "build" steps

The cancel button was disables on the "starting: build" popup as cancellation was broken. We reenable it as ENYO-3506 will fix the broken cancellation.
ENYO-3506: Use a static error to signal bukld cancelled

The build steps are executed in sequence using an Async.waterfall call. When the build is cancelled, the waterfall sequence needs to be stopped. The proper way to do that is to call the next() function with an Error() as parameter. So far, when a build generates an Error(), it gets propagated at project level so that the UI can display an error message. When the error is a build cancel, the Error should not be propagated as no message needs to be displayed.
The "build cancel" error is defined as a statics to make that sure everywhere we cancel (can happen during any step) we use the same specific Error, which can be detected easily on lines 496-498.
ENYO-3506 correcting cancellation for getUserData step

Propagating the "next" pointer of the async.waterfall build to the getUserData and getToken function to be able to perform a next(Error). Getting the AJAX cancellation to abort the async.
ENYO-3506: correcting cancellation on updateConfigXML step

enyo.xhr.cancel should not be called during cancellation since req.xhr is not an AJAX request (req is filesystem object). Aborting should not crash an ongoing disk i/o operation. Instead the operation must complete successfully or fail, and then if a cancellation has been requested it will be handled at response time.
ENYO-3506: correcting cancelation on getFiles

Removed AJAX cancelation as this is not an AJAX operation. The operation being i/o, we don't want to crash it. We let it complete and use a flag for abortion.
ENYO-3506 correcting last step submitBuildRequest

The cancelation stops AJAX in flight, _and_ raise the error at async.waterfall level to stop the process.
Merge branch 'master' of github.com:enyojs/ares-project into ENYO-3506
ENYO-3691: re-indented for ENYO-3311
ENYO-3691: added enyo in global var list to keep emacs happy
ENYO-3691: get current project from enyoEditor instead of phobos
ENYO-3143: small clean up
ENYO-3143: add project name in the window title
Merge pull request #723 from enyojs/ENYO-3676

ENYO-3676: enable selection of newly created project
ENYO-3691: simplified code
Merge pull request #730 from enyojs/ENYO-3143

ENYO-3143: add the project name to the window title
ENYO-3691: added activeProject in Workspace data