No need to remove and then recreate symlink
Switch ding2-dev needs to be defined. DRUSH_BOOTSTRAP_DRUPAL_FULL changed to DRUSH_BOOTSTRAP_DRUPAL_DATABASE otherwise conflict by trying to redefine function.
Rewrite using drush_invoke_process instead of drush_backend_invoke_args
Conflicts fixed after merge of drush5 branch.
Improved debugging - more details about drush make process if --debug options is passed.