install-site.sh: accommodate bin|script conf|config differences

Our Rails-based repositories use a 'config' directory instead of
'conf', and a 'script' directory instead of 'bin', so the script
now tries to detect which one of those should be used.
install-site.sh: add an option to create a PostgreSQL superuser
install-site.sh: preserve the script and arguments as invoked

On EC2 instances that are set up to use the default domain, we may
need to write a new hostname into various configuration files on
reboot - this is important when booting up an instance based on an
AMI, as well.  On FixMyStreet, for example, this is relatively simple,
and there is an ec2-rewrite-conf script in the repository that can be
used.  With other sites this is more involved, and it's simpler to
just re-run the install script with the same arguments.  In order to
do the latter, we need to preserve the script as used to install the
site in the first place, and the arguments it was invoked with.  This
commit introduces a script to do that recording, and alters
overwrite_rc_local to reinstall if ec2-rewrite-conf isn't present.
install-site.sh: the default_server option depends on Nginx version
install-site.sh: make rc.local also rewrite general.yml

If overwrite_rc_local is called, then now it will also
replace uses of the old hostname with the new one.
install-site.sh: attempt to set Postfix's mydestinations

As far as I can tell, this is the correct way to set the
mydestinations line in Postfix's main.cf on installation
of the Debian package.  However, this doesn't work, for
reasons that aren't clear to me, and we have to fix it up
later, so I've left this in with a FIXME comment in the
hope that we can investigate it further when there is
more time.
Move ensure_line_present into install-site.sh

This was previously just in the Alaveteli site-specific-install.sh
script but is likely to be more generally useful.
install-site.sh: check that $0 plausibly refers to a file

If $0 doesn't refer to a file, then copying the invoked
install script will fail.  This commit also deprecates the:

  curl <SCRIPT-URL> | sh -s --

... usage of the install script, so some of our public and
private documentation will need to be updated.
install-site.sh: explain why we preserve the install script
install-site.sh: add alaveteli to the supported sites
Use BIN_DIRECTORY in overwrite_rc_local as well