Bug 839194 - Make prompts consistent between system and browser
Bug 907799 - run npm install in all cases.
Merge pull request #11577 from daleharvey/839194

Bug 839194 - Make prompts consistent between system and browser
Merge pull request #11667 from lightsofapollo/integration-tests-always-run-npminstall

Bug 907799 - run npm install in all cases. r=benfrancis
Bug 905273 - [Messages] Recipients list pull down animation is inefficient r=julienw

In order to use the more efficient `transform` attribute for animating
the pull-down, the element responsibilities must be altered.

The top-level "#messages-to-field" serves as a basis for positioning the
"#to-label" and "#messages-contact-pick-button". It is no longer
animated, and because of this, it no longer draws the component's
background or border.

A new element, "#messages-recipients-list-container" has been introduced
to take the responsibilities previously fulfilled by  the "#messages-to-field".
Animation is implemented via the `transform` attribute.

In order to prevent unecessarily scrolling in "multiline" mode, the
rendering of the recipients has been simplified.

The JavaScript `generateHeightRule` function no longer has to reset the
height of the widget: all elements are now rendered at full height. The
method has been simplified to simply set the "#message-recipients-list"
element's `max-height` in order to trigger the rendering of a scroll bar
when the number of recipients causes overflow in multi-line mode.
Revert "Bug 905273 - [Messages] Recipients list pull down animation is inefficient r=julienw"

This reverts commit c71f1e95b410e330a81d8bb448a6d52800055f54 due to a
regression in the rendering of so-called "zero-width" contacts.
Bug 905273 - [Messages] Recipients list pull down animation is inefficient r=julienw

In order to use the more efficient `transform` attribute for animating
the pull-down, the element responsibilities must be altered.

The top-level "#messages-to-field" serves as a basis for positioning the
"#to-label" and "#messages-contact-pick-button". It is no longer
animated, and because of this, it no longer draws the component's
background or border.

A new element, "#messages-recipients-list-container" has been introduced
to take the responsibilities previously fulfilled by  the "#messages-to-field".
Animation is implemented via the `transform` attribute.

In order to prevent unecessarily scrolling in "multiline" mode, the
rendering of the recipients has been simplified.

The JavaScript `generateHeightRule` function no longer has to reset the
height of the widget: all elements are now rendered at full height. The
method has been simplified to simply set the "#message-recipients-list"
element's `max-height` in order to trigger the rendering of a scroll bar
when the number of recipients causes overflow in multi-line mode.