ENYO-2935: fix traces

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2935: cleanup: only throw `Error` to have backtraces

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2935: refactoring bdBase & genZip inherit from new svcBase

svcBase contains generic startup code to be reused by every services
plus routines that are notorious victims of bad/incomplete copy/paste.

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2935, ENYO-2999: catch many (many) Zalgo's in fs*.js

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2935: fix un-plugged `fsBase#errorHandler`

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2935: prefer `Content-Transfer-Encoding ` over custom `x-encoding`

- See http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.2
  (last few lines of the last section)
- See http://www.w3.org/Protocols/rfc1341/5_Content-Transfer-Encoding.html

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2935, ENYO-2044: fix _too many open files_ using `graceful-fs`

Also see:

* https://enyojs.atlassian.net/browse/ENYO-3061
* https://npmjs.org/package/graceful-fs

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2935: fix non-working MarkDown wiki Links

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2935, ENYO-3061: update express to avoid DoS & 100% CPU

- See https://github.com/senchalabs/connect/issues/898
- update `npm-shrinkwrap.json` accordingly

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2935: raise the limit of parts acceptable by `express@3.4.*`

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2935: Git-ignore the dependency on `graceful-fs`

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2935: use the list of files from `Generator#generate()`…

…rather than rebuilding it from a target tree.

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2935: `fsLocal#putFile()` traces cleanup

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2935: `fsLocal#putFile()` support input streams

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2935: `svcBase#returnFormData()` use `form-data`…

…instead of rebuilding our own `multipart/form-data` generator.

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

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2935: drop usage of `form-data`…

…because it cannot deal with manually-set per-part encoding.

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2935: each part of multipart/form-data is now base64-encoded

- change base64 streaming module
- use browser `btoa()` (ie8 is already out)
- expand `express.bodyParser()` to handle 15MB + 10,000 files
- deal with more multipart file formats (following experience working
  with `form-data` node module).

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2935: update NPM shrinkwrap

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-2935, ENYO-2999: adapt to updated `ares-generator` (+folders as sources)

- make a better job at removing temp files
- small change in the sources exclusion syntax (trailing `/` for the
  folders to be excluded)

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