Ensure that binary series constructed from blocks are distinct

When passed a block argument, `make_binary` populates and returns a
pointer to a temporary buffer in the task context.  As a result,
binary series constructed from block specs are subject to unexpected
mutation:

    >> x: to binary! [1]
    == #{01}
    >> y: to binary! [2]
    == #{02}
    >> x
    == #{02}
    >> same? to binary! [1] to binary! [2]
    == true

Correct this behaviour by returning a copy of the constructed series.
Collect unused GOBs
Resolving bug#1989.
Define new GOB_MARK and GOB_USED GC flags.
Use the resv field to store GC flags.
do-redirect expects an absolute url so create one

if do-redirect gets a relative url, it is unable to decode it correctly and so all relative url redirects fail.
Merge pull request rebol/r3#106 (0branch/block-to-binary) into community

* 0branch/block-to-binary:
  Ensure that binary series constructed from blocks are distinct
Merge pull request rebol/r3#110 (ladislav/bug#1989) into community

* ladislav/bug#1989:
  Collect unused GOBs Resolving bug#1989. Define new GOB_MARK and GOB_USED GC flags. Use the resv field to store GC flags.
Merge pull request rebol/r3#113 (gchiu/patch-2) into community

* gchiu/patch-2:
  do-redirect expects an absolute url so create one