Binary deployment improvements

Stop gear at beginning of binary deployment because the prepare step
extracts into the runtime dirs, which will affect the running app.

Add cleaning of repo dir in addition to the dependencies dirs prior to
extracting a binary artifact into the runtime dir.
Add ~/.node_modules to dependency_dirs

Previously the symlink from ~/.node_modules to
app-root/runtime/dependencies/nodejs/node_modules was created in the
install script - move it to managed_files.yml so we don't need to do it
in bash.
Merge pull request #3995 from ncdc/binary-prepare-clean-repo

Merged by openshift-bot
Disallow 'gear deploy' if deployment type is binary

Bug 1023512
fix bz1022948 add link to make_ha if platform allows it
Add application metadata and validators

Allow plugin code to store data on the application.  Currently
limited to 10KB, string keys, and values that are strings, numbers,
or lists of strings and numbers.
Changes pertain to app creation page, specifically app name with namespace input fields

- Remove font-family because (a)it's causing a weird height descrepency issue on FF and (b)it's superfluous
- Change explicit height to min-height. It was part of several issues that were causing the input and .add-on's to have different heights at different widths.
- Adjust width between label and controls at <979px width, because of horizontal scroll.
- Apply min-height at <767px so .control-group-important elements have consistent heights.
- input-block-level mixin needs slightly taller min-height to account for descrepency on FF at mobile res.
- Reapply span3 (same as prod) to control both input widths at specific browser widths.

On errors, the p.help-inline message was missaligned and a different size than the rest of the help text.

Remove span3 class width from select.

Needed because FF on Mac sets line-height based on font-family, ignoring form field explicit line-height
causing inputs next to span.input-append and/or span.input-prepend to have different heights when set to Open Sans.Assigning "Lucida Grande", "Lucida Sans Unicode", "Liberation Sans" because they most closely resemble "Open Sans" for each platform.
Merge pull request #3996 from ncdc/fix-nodejs-managed-files

Merged by openshift-bot
Fix for bug 1022370, 1023207
Fall back to current deployment dir for remotedeploy

Fall back to using ApplicationContainer#current_deployment_datetime in
'gear remotedeploy' if it's not specified. This should allow Jenkins
jobs created prior to the deployment enhancements to continue
functioning, albeit not 100% functional as far as deployment metadata
goes.
Use do_command with gear binary-deploy

Use do_command with gear binary-deploy so exceptions are handled in the
same manner as the other commands.

Bug 1023372
Merge pull request #4000 from ncdc/bz1023512

Merged by openshift-bot
Merge pull request #3998 from rajatchopra/master

Merged by openshift-bot
Merge pull request #4001 from abhgupta/abhgupta-dev

Merged by openshift-bot
Merge pull request #4003 from ncdc/bz1018343

Merged by openshift-bot
Merge pull request #3997 from ncdc/bz1023372

Merged by openshift-bot
Bug 1023588 - Build cartridge index from cache

* Restore support for cartridges added to node via oo-admin-cartridge
Merge pull request #4002 from smarterclayton/app_metadata_field

Merged by openshift-bot
Fix for bug 1022444
Merge pull request #4004 from jwhonce/bug/1023588

Merged by openshift-bot