replace <<EOF type constructs with multi-line echo

This compensates for an selinux bug reported on #gitolite by John Hawley
(warthog9).  sh/bash uses a tempfile to do this, which in turn causes
some problems in selinux; I really don't [need to] know more than that.

*Technically* this is a bug in selinux/policy, and would qualify for an
entry in "nagp"... but:

(1) the changes are small and localised
(2) the problem makes gitolite -- currently -- unusable with selinux,
    and what use is a security program which can't run under selinux
    (regardless of whose fault it is)?

and finally

(3) if I can't break my own rules for one of my most high-profile users
    then what's the point of owning the code?

:-)

----

Implementation notes: I've only done this for code that is likely/meant
to be used in production

I also slip-streamed in a URL fix (from when I changed all the online
document rendering)
gitolite.rc.mkd - documentation updates

  - use single quotes in examples for GL_GITCONFIG_KEYS regex, and
    briefly explain why

  - emphasise that $GL_GITCONFIG_KEYS patterns match the whole key
simplified steps for moving servers

The instructions were written before gl-admin-push was created, I guess,
making things sound a lot more complicated than they should be.

Thanks to Nick (see gitolite mailing list messages, subject line
"replicating a gitolite installation") for helping me realise this
needed fixing.
make log_it() put out a little more info if called prematurely
clean up gl-install

  - move wrap_mkdir() to gitolite.pm
  - remove junk left over from days when dinosaurs ruled the world
  - reuse setup_environment() from gitolite.pm instead of rolling our
    own code for PATH and umask
    part of it's function (the rest is harmless)

  - and most important, remove the last vestiges of the old 'from
    client' install method, in the form of 'if ($GL_PACKAGE_HOOKS)'
    lines

  - clean up the symlinking to be more precisely in line with
    doc/hook-propagation.mkd (especially, remove the 'quirk' that
    package hooks would also get copied to the user hooks area)
clean up gl-system-install

  - redo it in perl
  - make it flow easier, with all the cruft in subs

and overall, make it obvious that this program does for a manual install
what doc/packaging.mkd advices packagers to do.
add a standalone test for gl-system-install
fix http install (broken by d08aca); add a quick smoke test
<sigh> why won't people read just *one* para more...?

OK I agree the starting line was *just* misleading enough to give the
opposite impression, but still, when the next para starts with "The
rules are..." wouldn't you expect people would read *that* too?
next round of doc changes
vref: code

  - compile: VREF/ is special, like NAME/
  - update hook: use a new "check_vrefs" sub to
      - spawn helpers for each vref in @allowed_refs
      - for each vref returned by the helper, call check_ref
vref: tests
'filetype' VREF
vref: docs
3 new VREFs plus doc

  - 'dupkeys' -- catch duplicate keys in keydir
  - 'email-check' -- "you can only push your own commits"

plus, 'merge-check' -- how we could have done the no-merges policy
(minor fixups related to virtual ref)
gl-setup changes:

  - learns to not run sshkeys-lint when told to be extra quiet
  - gets its own little doc section (appendix d)
  - get a quick help with '-h'
gl-system-install learns '-h'
gl-tool learns '-h'
sshkeys-lint learns '-h'