Don't prompt for MySQL root password if not really necessary.

If we can connect, access the main database and create the test database then
everything's fine, we don't really need to ask for the MySQL root password.
Create automatic tasks for each environment in project_settings.host_list.

These can be overridden by creating a function with the same name below,
or in localfab.

Remove the hardcoded ones that don't do anything special.

Fixes #8.
Don't overwrite settings set before _setup_paths() is called

in fablib
Merge branch 'fablib_env_init_fix' into develop

* fablib_env_init_fix:
  Don't overwrite settings set before _setup_paths() is called
Made location of deploy directory configurable for fablib
Made webserver directory configurable
Made wsgi directory configurable
Correct an apache domain name

for the staging server
Fixed template apache staging config to use correct suffix
Merge pull request #60 from martinburchell/fix_apache

Fixed template apache staging config to use correct suffix
Merge pull request #61 from martinburchell/relative_deploy_dir

Relative deploy dir
Don't assume webserver files in /apache/ directory

might be nginx ...
For first sudo command, call true

to avoid problems where the first sudo run causes other output to come
out, which can confuse code reading the output of the command.

Should resolve #62
Fixed Django 1.4 --no-initial-data incompatibility

Also added django version to the environment
Fixed private_settings creation bug.

Storing the django version in _setup_paths is problematic because
it calls manage.py, which requires private_settings to exist. So
I'm just getting the django version when I need it.
Stopped multiple calls to syncdb for Django < 1.5
Removed unused import
Added syncdb for Django < 1.5 prior to migrate
Make code to avoid bad syncdb call more readable
Set python version is project_settings and check in ve_mgr