Remove all Mason from our (now static) JS files

This also fixes a bug where the user preference override of
MessageBoxRichTextHeight was never used since a per-request current user
couldn't be used in the global JS.  With the use of RT.Config it can.

Our Mason-commented license is removed and not replaced by a
JS-commented license to avoid needlessly increasing our unsquished JS by
22kb.
Use RT.Config.WebPath in inline JS instead of interpolating from Mason
Remove a duplicate condition check
Add LWP::Simple to the core dependencies

This should have been added in 7d5b33b with `make jsmin` or added even
earlier to the development dependencies with 3d11b14 when
sbin/rt-message-catalog was rewritten to use Launchpad translations.
Refactor the static middleware wrapping into a method to enable reuse

The StaticWrap method functions somewhat like our own little ad-hoc
middleware, hence the "wrap" moniker.  Producing a standalone static app
would require using the builder's mount function, and that removes the
ability of @StaticRoots config definitions to serve paths outside of
m{^/static/}.
Serve individual JS files via the static handler

This is possible now that none of the JS needs to be parsed by Mason,
thanks to 4fe4fc0.

Squished JS is still served via Mason, although that could be replaced
in the future by Plack middleware (i.e.  Plack::Middleware::Assets,
Plack::Middleware::JSConcat, or our own).  RT::Squish::JS makes internal
PSGI requests to the static handler in order to fetch the JS content for
squishing.
Clarify where AddJavaScript and AddStyleSheets expect files to live
Use a pure Plack and HTTP::Message solution for internal PSGI requests

Replaces LWP::Protocol::PSGI and the complexity wrapped up in that
module with a much more straightforward approach.  Since we're writing
new code — not pulling the PSGI-wool over the eyes of otherwise
unsuspecting code — we don't need the cloak of LWP.

A nice side benefit is that without LWP::Protocol::PSGI, there are no
warnings when LWP::Protocol::https isn't installed.  Thus, we won't need
to either require it for the squishing functionality or suppress the
warning with ugly warning handlers.
Merge branch '4.2/static-js'

Conflicts:
	sbin/rt-test-dependencies.in
	share/html/NoAuth/js/cascaded.js
	share/html/NoAuth/js/event-registration.js
	share/html/NoAuth/js/history-folding.js
	share/html/NoAuth/js/jquery-ui-patch-datepicker.js
	share/html/NoAuth/js/jquery.modal-defaults.js
	share/html/NoAuth/js/jquery_noconflict.js
	share/html/NoAuth/js/late.js
	share/html/NoAuth/js/titlebox-state.js
	share/static/js/combobox.js
	share/static/js/userautocomplete.js
	share/static/js/util.js

Conflicts are caused by:
 * Updated copyrights
 * A new JS file (share/html/NoAuth/js/jquery.cookie.js)
 * Untabification
 * Dependencies in rt-test-depencies are merged and sorted