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.
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
Merge pull request #4005 from abhgupta/abhgupta-dev

Merged by openshift-bot
Bug 1021472: Correctly migrate cart dependency dirs
Don't use app_dns == gear_dns with update_cluster

Previously update_cluster was only syncing content to and activating
new gears if the proxy gear in question was the original one
(OPENSHIFT_APP_DNS == OPENSHIFT_GEAR_DNS). Instead of doing this,
modify the broker to select a proxy and pass a boolean indicating that
proxy should do the syncing and activating.
Merge pull request #3994 from sg00dwin/console_light_theme_dev

Merged by openshift-bot
Bug 1021042

Fix default app README to point to the correct action hooks
documentation URL.
Merge pull request #4007 from ncdc/sync-new-gears-flag-for-update-cluster

Merged by openshift-bot
Bug 1022271
Merge pull request #4008 from BanzaiMan/dev/hasari/bz1021042

Merged by openshift-bot
Merge pull request #4009 from danmcp/master

Merged by openshift-bot
Merge pull request #4015 from ironcladlou/bz/1021472

Merged by openshift-bot