build: i18n: allow for a smaller and simpler Intl

add the --with-intl= option to provide more ways of building Intl:
 full-icu picks up an ICU from deps/icu
 small-icu is similar, but builds only English
 system-icu uses pkg-config to find an installed ICU

build: i18n: allow choice between large and small ICU

build: i18n: improve build for no-i18n mode

build: i18n: fix some issues with the config switch

build: i18n: disable multi-core build of ICU for now

build: i18n: build with and without --with-full-icu chosen. Update docs to reflect.

build: i18n: give guidance if icu deps aren't present

src: cpplint fixes

build: i18n: respond to comments, and fix issues

style: fix whitespace, etc. according to cpplint and comments.

build: remove an unhelpful option from the ICU Build (will remove
upstream also). UDATA_SRL_DISK_FIRST intended to do what the
node_i18n.cc code does in terms of switching out large and small
datasets.

build: i18n: first steps towards win build

build: i18n: update vcbuild.bat to add i18n options

build: i18n: windows builds, doesnt work yet

build: i18n: try to revert bad .gitignore changes

build: i18n: try to get the build going

build: i18n: style: indentation and spacing

build: i18n: style: indentation and spacing

build: i18n: builds again

. Don't mess with the runtime library, and fix the defines.

build: i18n: windows: progress - icudata warning OK

we're getting there..

Errors still:
icuuc.lib(umapfile.obj) : error LNK2001: unresolved external symbol
__imp_InitializeSecurityDescriptor
[e:\node\deps\v8\tools\gyp\mksnapshot.x64.vcxproj]
icuuc.lib(umapfile.obj) : error LNK2001: unresolved external symbol
__imp_SetSecurityDescriptorDacl
[e:\node\deps\v8\tools\gyp\mksnapshot.x64.vcxproj]
icuuc.lib(wintz.obj) : error LNK2001: unresolved external symbol
__imp_RegQueryValueExA
[e:\node\deps\v8\tools\gyp\mksnapshot.x64.vcxproj]
icuuc.lib(wintz.obj) : error LNK2001: unresolved external symbol
__imp_RegOpenKeyExA [e:\node\deps\v8\tools\gyp\mksnapshot.x64.vcxproj]
icuuc.lib(wintz.obj) : error LNK2001: unresolved external symbol
__imp_RegCloseKey [e:\node\deps\v8\tools\gyp\mksnapshot.x64.vcxproj]

build: i18n: windows: IT BUILDS.

.. but crashes, with no data. The "small-icu" option should enable the
command line at least

build: i18n: windows: Allow --icu-data-dir and env var always. Fix docs.

Windows builds with "stub" (null) ICU data. Changed the env vars and
parameter to work always.

build: i18n: windows: first attepmt at building tools

doing it wrong, via git

build: i18n: windows: able to projgen

build: i18n: windows: full-icu working!

Code is able to build a complete ICU now.

build: i18n: actually, works fine on linux. Didn't manage to break it.

build: i18n: windows: build iculslocs

needed for manifest rebuild of ICU data

build: i18n: windows: enable "small-icu" build

also update docs

still very much based on version number and a "special ICU branch".

build: i18n: windows: cleanup

remove dependency on ICU 53 specifically
will probably have Unix follow suit
move the icutrim.py config .json into node

build: i18n: rebase on c147e81091750ed38500d75299be3d9ced04d946 (later failed)

build: i18n: build unix like windows.. full build seems to work

build: i18n: work in progress still.. building such a big .c is not a good idea

build: i18n: restructured conditionals to be nested (whew)

build: i18n: full build non-win works. restructuring non-full non-win build..

build: i18n: update readme for merged build. Probably broke windows again.

build: i18n: use forward slash on windows

this allows the exclusion rule for derb.c to match

build: i18n: style fixes

build: i18n: more style changes

build: i18n: cpplint fix: whitespace!

build: i18n: unbreak non-ICU build

build: i18n: fix toolsets once again

User was getting this: `gyp: Dependency '/dev/shm/icu/node/deps/icu-generic.gyp:genccode#target' not found while trying to load target /dev/shm/icu/node/deps/icu-generic.gyp:icudata#target`

docs: i18n: shrink down readme, add link to wiki

remove extra verbosity from `README.md` and move it to the wiki page
on https://github.com/srl295/node/wiki/Intl

build: i18n: move stuff from deps/icu-trim and deps/ to tools/icu

..as per review comment. Need to test in Windows.
NOTE: I am probably going to change the "configure" switch again, to
just "--with-generic-icu=small|full|system". The path is actually
hardcoded, so it is misleading to take "deps/icu" as an argument.

build: i18n: it works on windows

fixed some paths related to moving. Was not able to change the -P option
to take `<(PRODUCT_DIR)`

build: i18n: update with review comments

Updated according to review comments.

Renamed iculslocs.cpp to iculslocs.cc.

Removed a spurious .gitignore line

Rewrote parts of the configure script.

iculslocs.cc passes cpplint except for the following three errors,
so I excluded it. `UErrorCode &status` is an in-out parameter used
for ICU error reporting.
http://userguide.icu-project.org/design#TOC-Error-Handling

tools/icu/iculslocs.cc:107:  Is this a non-const reference? If so, make const or use a pointer.  [runtime/references] [2]
tools/icu/iculslocs.cc:129:  Is this a non-const reference? If so, make const or use a pointer.  [runtime/references] [2]
tools/icu/iculslocs.cc:160:  Is this a non-const reference? If so, make const or use a pointer.  [runtime/references] [2]

build: i18n: style: ran through `clang-format --style=chromium` as
suggested.

Also disabled iculslocs.cc from cpplint

build: i18n: remove debug printf (oops)

build: i18n: change configure options to --with-intl=...

removed --with-generic-icu= option, replaced with --with-intl= with
the following values:

* none:   no Intl support. This is the default.
* small-icu:  smaller ICU.
   Formerly: "--with-generic-icu=deps/icu"
* full-icu:  full ICU.
   Formerly: "--with-generic-icu=deps/icu --with-full-icu"
* system-icu: ( not implemented yet )

build: i18n: implement --with-intl=system-icu

system-icu uses pkg-config to find ICU.

Also updated README.md.

build: i18n: swap endianness if needed

build: i18n: style, review comments