ENYO-1996: maintain package.js aligned with file-manager operations

Tested Ok on: FF/OSX, Chrome/OSX, Opera/OSX, IE9/Win7

* ENYO-1269, ENYO-1996: Add Firefox formData work around to putFile
* Merge branch 'master' of github.com:enyojs/ares-project into ENYO-1996.2
* ENYO-1996: close package.js when changed by PackageMunger
* ENYO-1996: increase encapsulation
* ENYO-1996: an `enyo.singleton()` cannot be an `enyo.Component`
* ENYO-1996: fix long-standing `ServiceRegistry` bug
* ENYO-1996: ignore file events dealing with non-opened documents
* ENYO-1996: maintain package.js content

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>

Plus former commits, prior to event-based refactoring:
* ENYO-1996: updates package.js and create new one on folder creation (untested)
* ENYO-1996: Merge branch 'master' into ENYO-1996 (enyojs/ENYO-1996)
* ENYO-1883 : improve project properties popup look
* ENYO-1883 : css to improve Ares look
* ENYO-1996: adapted to new data format in CreateFile response
* ENYO-1996: better trace
* ENYO-1996: use select instead of forceSelect
* ENYO-1996: More traces
* ENYO-1996: Fix package munging for file removal
* ENYO-1996: Fixed package munging for file addition
* ENYO-1996: added getFolderOfSelectedNode method
* ENYO-1996: warn if bad fileId is fed to refreshFileTree
* ENYO-1996: renamed variable for clarity
* ENYO-1996: added getNodeWithId method
* ENYO-1996: added GetParentNodeOfSelected method
* ENYO-1996: fixed call to async.series
* ENYO-1996: Fix jsdoc
* ENYO-1996: Harmonia: removed events now handled directly by HermesFileTree
* ENYO-1996: removed HermesFileTree old delegation functions
* ENYO-1996: retrieve info from the correct parameter
* ENYO-1996: service is stored in a component, not in an attribute
* ENYO-1996: traces and comments
* ENYO-1996: another $.hermesFileTree removed
* ENYO-1996: removed Harmonia's way of fetching hermesFileTree. 'this' is enough
* ENYO-1996: improved comments
* ENYO-1996: added comments and improved formatting
* ENYO-1996: Moved file handling code from Harmonia to HermesFileTree
* ENYO-1996: handle file removal (WIP)
* ENYO-1996: packageAppend: fix some corner case
* ENYO-1996: improved traces
* ENYO-1996: Added getParentOfSelected method on HermesFileTree
* ENYO-1996: store service within Harmonia
* ENYO-1996: file creation triggers addition of an entry in package.js
* ENYO-1996: added a comment
* ENYO-1996: restore entry selection during file tree refresh
* ENYO-1996: put back debug to false
* ENYO-1996: use Node property to select a dir without expanding it
* ENYO-1996: fire the correct event to select a node in hermesFileTree
* ENYO-1996: getNodeNamed must return a node, not an array
* ENYO-1996: Added getNodeNamed method
* ENYO-1996: call getNodeFiles on AresNode instead of HermesFileTree
* ENYO-1996: space cleanup
* ENYO-1996: ENYO-1996: fix hermesFileTree invocation from Project view popup
* ENYO-1996: Renamed DirectorySelector file to be consistent with kind name
* ENYO-1996: renamed Node.js into AresNode.js
* ENYO-1996: removed code that was copied in Node.js
* ENYO-1996: call node expand on a subnode and not on self
* ENYO-1996: Moved tap and dblClick handlers back into hermesfiletree
* ENYO-1996: don't forget to show the node
* ENYO-1996: extracted fileNode into ares.Node kind
* ENYO-1996: removed old commented code ...

Enyo-DCO-1.1-Signed-off-by: Dominique Dumont <dominique.dumont@hp.com>