Various deploy fixes

Certain containers (e.g. Tomcat) cache the path to the deployment
directory, and we want to replace the current deployment directory with
a new one when we activate a new deployment.

Replace app-root/runtime/{repo, dependencies, build-dependencies}
symlinks with actual directories. Sync content from the deployment
directory into these directories on activation.

Modify create_dependency_directories to create the directories in
app-root/runtime instead of in the deployment directory.

No need to create cartridge dependency directories any more when
creating a new deployment directory.

Recreate the cartridge dependency directories when building with
force_clean_build enabled.

Clean dependencies if preparing a binary deployment.

Don't use FileUtils.cd when creating the by-id link.

Specify --first-time when calling gear prereceive and gear postreceive
when doing an initial build so the pre_ and post_receive methods in the
container are invoked even though there's no commit data from STDIN.

Bug 1020660 - fix jbossews hot deploy
Bug 1021399 - fix nodejs 0.10 hot deploy
Bug 1021411 - fix nodejs 0.6 hot deploy
Bug 1021414 - fix nodejs 0.6/0.10 force clean build
Bug 1019723 - rhc deploy should activate all gears
Bug 1018387 - Drupal quickstart should no longer be broken
Bug 1021798 - fix Python 3.3 with Jenkins
Bug 1018654 - fix Jenkins hot deploy
Restore app-root symlinks

Restore code that created the
app-root/{repo,dependencies,build-dependencies} -> runtime/$dir
symlinks (it was accidentally removed).
Merge pull request #3955 from ncdc/copy-on-activate

Merged by openshift-bot