REWORD API Revamp (See http://issue.cc/r3/1990)

Requested changes (requester):
* Binary support, and working tag support (BrianH)
* /case for case-sensitive comparison (BrianH)
* Specifying leading and trailing delimiters with /escape (i.e. for
HTML/XML entities) (BrianH)
* Being able to specify none as an /escape, equivalent to "" now
(HostileFork)
* Evaluating value expressions directly in a block spec, rather than
requiring the spec to be reduced, and /only to turn that off
(rgchris, BrianH, prompted by GrahamChiu's RebolBot code)
* Evaluating block values as code like functions, to cut down on
function
creation overhead, and /only to turn that off (rgchris)
* Special-case treatment of set-word keys as if they were regular words,
so block and object specs can be compatible (BrianH)
* Special-case treatment of lit-word keys as if they were regular words,
to be compatible with fully reduced specs (BrianH)
* Directly using values specs that already match what we need
internally,
to save overhead (BrianH)
* Better-phrased doc strings that are short enough to not wrap on the
Windows console (BrianH)
Round decimal division of tuple elements.

When performing tuple division, the floating point representation of
decimal divisors may yield surprising results.  For example, the
following expression

  >> 1.1.1 / 0.1

can return 9.9.9 or 10.10.10 depending on the host platform.

To address such discrepancies, `round(3)` before casting the result of
tuple element division to a `REBINT`; this should improve cross-platform
consistency.
Use R3's rounding implementation instead of round(3).

This should ensure greater portability as `round(3)` was standardised as
part of C99.
Private module imports take precedence

For module Needs imports, give private module exports a
higher priority than runtime library (lib) imports. Doesn't
affect scripts, which use strict in-order precedence already.

See http://issue.cc/r3/1998 for details.
Use function args as frame reference of function variables instead of function body.
Function body was unsuitable (unsafe) for the purpose since in R3 it is possible to define distinct functions sharing the same body.
Corrects bug#2025
Correct function copy crash#2043
handling correctly args = 0
Let BIND bind out-of scope function words.
Bind closure body to args (pseudo) frame and rebind the body to a real frame when the closure is called.
Corrects #2048
Tested in Linux X86
Correct object cloning bug#2049 by cloning closures.
Improve and speed up object cloning using rebinding
Fixes CC#2045
Adjust Rebind_Block to be more compatible with Bind_Block
Define rebind modes
Adjust Clone_Function to use rebinding
Build Win32 /Core binaries as console mode applications

A console mode Rebol binary has the following advantages:

- Reuses an existing command prompt
- Works with alternative command prompts (such as Console 2)
- Slightly improves the handling of redirected standard IO

Until we reintegrate /View capabilities and/or a custom graphical
(R2-style) console, building console mode binaries is the better default
for Windows.
Copied DELETE-DIR from Rebol 2 (cc#1545)

Since there was no strong opinions on this
in the http://issue.cc/r3/1545 ticket
I would keep it in Rebol 3 to converge towards
the level of usefulness Rebol 2 provided.
Deep copy functions when cloning objects.
Fixes CC#2050
No need to save the block in COPY_DEEP_VALUES since the function does not call Recycle
Correct multiple inheritance, CC#1863
Deep clone child values
Rebind child values
Optimize Merge_Frames to use rebinding table
Add a new REBIND_TABLE mode to Rebind_Block
Remove SAVE_SERIES/UNSAVE_SERIES around code not calling Recycle.
Use David M. Gay's STRTOD instead of system specific atof().
Add boilerplate to reb-dtoa.h
This is a major change improving accuracy and compatibility of LOAD DECIMAL! across platforms.
Also, improves accuracy and compatibility of MONEY! to DECIMAL! conversions across platforms.
Get rid of LOAD /next

The print statement was the only reason LOAD had a /next option.
With no print statement, there should be no option.
Modify INTEGER! multiplication to not use division for overflow detection.
Modify INTEGER! addition and subtraction to not use undefined arithmetic.
Modify integer comparison to not use undefined arithmetic.
Fix bug#2054
Do not use MAX_NEG_INT in t_integer.c (problematic name).
Amend a comment referring to reb-config.h
Undefine strtod to suppress redefinition compiler warning.
Remove int32 from Reb_Val_Data (not used)