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-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
Merge branch 'master' of github.com:enyojs/ares-project into ENYO-3506
ENYO-3506 Cancelation should not send a 'warn' error object to console

The cancellation so far was not sending any Error to console. There is no reason to do it now. Correcting faulty behaviour.
Merge pull request #727 from enyojs/ENYO-3506

ENYO-3506: Fixed broken cancellation for Build