Added support for non-default MySQL host and port.

When I run tests over the MySQL RAM server, I'm usually running the MySQL RAM
server on a different port and I need this script in order to get that all
working in civicrm-project.
Merge pull request #4062 from totten/4.4-setupsh-dbport

(Backport) Added support for non-default MySQL host and port.
CRM-15247 - CRM_Contact_Page_AJAX::getContactEmail - Validate inputs
CRM-15247 - CRM_Contact_Page_AJAX::checkUserName - Require a token before checking username

The use-case for this function: when a new constituent signs up for a user
account, we give advice on whether the username is available.

Unfortunately, attackers can use that functionality to scan the list of
usernames.  There's no protection from a motivated attacker (except to
disable new signups).

This patch aims to mitigate the problem in two ways:
 - For sites which don't allow user signups, the scanning won't work (b/c
   attackers can't obtain a token).
 - For sites which do allow signups, scanning requires more work
   (to obtain & refresh tokens).
CRM-15247 - CRM_Contact_Page_AJAX::autocomplete - Require a token
CRM-15248 - footer.tpl - For front-end users, redact point-release.

On one hand, giving a precise version can help attackers match their targets
with exploits.  On the other hand, giving some kind of version indication is
useful for support and marketing.  This PR attempts to balance the interests
by giving a precise version ("Powered by CiviCRM 4.4.6") to users with
permission "access CiviCRM" while giving a coarse-version ("Powered by
CiviCRM 4.4") to anyone else.
Merge pull request #4078 from totten/4.4-ajax-validate

CRM-15247 - AJAX Fixups
CRM-15248 - Tweak formatting
Merge pull request #4076 from totten/4.4-redact-version

CRM-15248 - footer.tpl - For front-end users, redact point-release.