WICKET-5715 Allow setting 'async' attribute on reference <script> elements

(cherry picked from commit eeae249a95926027184b551239b46586a05848fc)
WICKET-5714 MockHttpServletRequest.buildRequest() should work for parameters with multiple values with multipart content type

(cherry picked from commit fb1f57f4d2be9534580b3a8e54ce98eb07adf77f)
WICKET-5716 trigger change reliably after closing the popup
WICKET-5718: upgrade Atmosphere to 2.2.2
WICKET-5719: log warning if atmosphere google analytics is enabled
WICKET-5720 Method Strings.join doesn't work correctly if separator is
empty.
WICKET-5723 CheckGroupSelector with disabled checks
WICKET-5717 Support fragment in Url parse and toString

(cherry picked from commit ca70ec70a0b7ea20f51db849ea866aa7c3d6cd11)
WICKET-5725 Add NumberTextField(String,Class<T>) constructor

(cherry picked from commit 7d9565894a7b4c3293a06380a3a9385f860072d8)
Update the version of the quickstart archetype 6.18.0-SNAPSHOT
WICKET-5326 Wicket doesn't encrypt links and Ajax URLs when CryptoMapper is used
Add setting to throw PageExpiredException when encrypted URL is no longer decryptable
Extract code to find PageComponentInfo parameters to utility class.

Also, some JavaDoc changes and create protected getContext() method.
Fix javadoc of AbstractOutputTransformerContainer
Avoid visiting some children more than once when searching for markup of a child.

When the ComponentTag of a child Component is nested inside a sibling
Component's ComponentTag,
AssociatedMarkupSourcingStrategy.searchMarkupInTransparentResolvers() is
called to attempt find the markup from inside component resolving markup
containers.

WICKET-5569 introduced behavior to use the visitor pattern to traverse
the Component tree and find these component resolving markup containers
however nested they may be.

Since the highest (page-most) component resolving markup container
component tree will probably cause a call to
searchMarkupInTransparentResolvers() if the markup is not found, there
is no need to descend any deeper than the first component resolving
markup container in that method.
Avoid using input names that conflict with any DOM API names.

Using input names that conflict with DOM API method and attribute names
interferes with JavaScript ability to use DOM API on the form element.
WICKET-5731 Using "Submit" button in Ajax DropDownChoice example leads to broken HTML page

(cherry picked from commit 93ff3f45b64f9c7a7126a3c03724cbb5d11c95dc)
Support fragment in Url parse and toString