Interchange since 5.0 has not allowed setting CookieName while retaining
the standard CoOkIe:1.1.1.1 pattern. Also, PHP setcookie routine URLencodes
cookie values, so the %3a that : is moved to defeats our patterns.

So, this commit does three things.

* Change cookie handling so that setting a CookieName doesn't affect the
  addition of host/username as long as the InternalCookie directive
  is set to Yes.

* Add InternalCookie directive to indicate that a custom CookieName
  should have internal handling.  (A YesNo directive).

* Treat %3a as equivlent to : for cookie matching when in
  InternalCookie mode.

So, to change the CookieName for sessions from MV_SESSION_ID
to MVID without changing external cookie behavior, do in
catalog.cfg:

    CookieName      MVID
    InternalCookie  Yes

If you don't set InternalCookie Yes, it will have the old ExternalCookie
behavior where the session file is solely based on what is found
in $Vend::Cfg->{CookiePattern}.

If you don't change the CookieName from MV_SESSION_ID (assuming you
don't explicitly set to that in catalog.cfg) then "InternalCookie Yes"
is implied.
Merge branch 'master' of ssh://git.icdevgroup.org/var/git/interchange
Merge branch 'master' of ssh://git.icdevgroup.org/var/git/interchange
NAME
    tv -- true temporary, non-session set/value tag

SYNOPSIS
     [ts foo]The time is: [time fmt="%H:%M"][/ts]
     [tv foo]
     (Shows "The time is: 09:10")

     [tn bar]The time tag is set as in: [time fmt='%H:%M'][/tn]
     [tv bar]
     (Shows "The time tag is set as in: [time fmt='%H:%M']")

DESCRIPTION
    Interchange uses "[tmp foo][/tmp]" and "[tmpn bar][/tmpn]" to set
    temporary scratch values. While this works OK in most cases, these
    values have to be managed in the session, and also may overwrite values
    which could be counted on by other pages (when set with "[set ...]") or
    by manipulating $Scratch.

    The above three tags replace this scheme with values that are based in
    the $Vend::Interpolate::Tmp space. These values are available in
    embedded Perl with $Tmp, so are usable in the same fashion as $Scratch.
    But they are truly temporary and will never be saved to a session.

    [ts VARNAME]VALUE[/ts]
        ITL code in VALUE *is* interoplated prior to setting VARNAME in
        $Tmp.

    [tn VARNAME]VALUE[/tn]
        ITL code in VALUE is *not* interoplated prior to setting VARNAME in
        $Tmp.

    [tv VARNAME]
        Display value of VARNAME.

AUTHOR
    Mike Heins, <mike@icdevgroup.org>

BUGS
    The usual number.